バルーン ツールヒントを実装する方法

吹き出しのツールヒントは標準のツールヒントに似ていますが、漫画スタイルの "balloon" で表示され、ステムがツールを指します。 吹き出しツールヒントには、単一行または複数行を使用できます。 これらは、標準のツールヒントとほぼ同じ方法で作成および処理されます。

次の図に、ステムと矩形の既定の位置を示します。 ツールが画面の上部に近すぎると、ツールの矩形の下と右側にツールヒントが表示されます。 ツールが画面の右側に近すぎる場合は、同様の原則が適用されますが、ツールの矩形の左側にツールヒントが表示されます。

screen shot of a dialog box; a balloon tooltip with one line of text appears above and to the right of the target

ツールヒント TOOLINFO 構造体の uFlags メンバーで TTF_CENTERTIP フラグを設定することで、既定の配置を変更できます。 その場合、通常、ステムはツールの矩形の下端の中心を指し、テキストの矩形はツールのすぐ下に表示されます。 ステムは、上端の中央にあるテキストの矩形にアタッチされます。 ツールが画面の下部に近すぎる場合、テキストの矩形はツールの上の中央に配置され、ステムは下端の中心にアタッチされます。

次の図は、ツールの中央にあるツールヒントを示しています。

screen shot of a dialog box; a balloon tooltip with one line of text appears centered below the target

ステム ポイントを指定する場合は、ツールヒント 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 );

}
            

ツールヒント コントロールの使用

ツールヒント スタイル