バルーン ツールヒントを実装する方法
吹き出しのツールヒントは標準のツールヒントに似ていますが、漫画スタイルの "balloon" で表示され、ステムがツールを指します。 吹き出しツールヒントには、単一行または複数行を使用できます。 これらは、標準のツールヒントとほぼ同じ方法で作成および処理されます。
次の図に、ステムと矩形の既定の位置を示します。 ツールが画面の上部に近すぎると、ツールの矩形の下と右側にツールヒントが表示されます。 ツールが画面の右側に近すぎる場合は、同様の原則が適用されますが、ツールの矩形の左側にツールヒントが表示されます。
ツールヒント TOOLINFO 構造体の uFlags メンバーで TTF_CENTERTIP フラグを設定することで、既定の配置を変更できます。 その場合、通常、ステムはツールの矩形の下端の中心を指し、テキストの矩形はツールのすぐ下に表示されます。 ステムは、上端の中央にあるテキストの矩形にアタッチされます。 ツールが画面の下部に近すぎる場合、テキストの矩形はツールの上の中央に配置され、ステムは下端の中心にアタッチされます。
次の図は、ツールの中央にあるツールヒントを示しています。
ステム ポイントを指定する場合は、ツールヒント TOOLINFO 構造体の uFlags メンバーで TTF_TRACK フラグを設定します。 次に、TTM_TRACKPOSITION メッセージを送信し、lParam 値に x 座標と y 座標を指定して座標を指定します。 TTF_CENTERTIP が設定されている場合でも、TTM_TRACKPOSITION メッセージで指定された位置を指します。
知っておくべきこと
テクノロジ
前提条件
- C/C++
- Windows ユーザー インターフェイス プログラミング
手順
バルーン ツールヒントの実装
次のコード例は、TTS_BALLOON ツールヒント コントロール スタイルを使用して、中央揃えのバルーン ツールヒントを実装する方法を示しています。
hwndToolTips = CreateWindow(TOOLTIPS_CLASS, NULL,
WS_POPUP | TTS_NOPREFIX | TTS_BALLOON,
0, 0, 0, 0, NULL, NULL, g_hinst, NULL);
if (hwndTooltip)
{
TOOLINFO ti;
ti.cbSize = sizeof(ti);
ti.uFlags = TTF_TRANSPARENT | TTF_CENTERTIP;
ti.hwnd = hwnd;
ti.uId = 0;
ti.hinst = NULL;
ti.lpszText = LPSTR_TEXTCALLBACK;
GetClientRect(hwnd, &ti.rect);
SendMessage(hwndToolTips, TTM_ADDTOOL, 0, (LPARAM) &ti );
}
関連トピック