次の方法で共有


TTM_ADJUSTRECT メッセージ

ツールヒント コントロールのテキスト表示四角形を、そのウィンドウの四角形から計算するか、指定したテキスト表示四角形を表示するために必要なツールヒント ウィンドウの四角形を計算します。

パラメーター

wParam

実行する操作を指定する値。 TRUE の場合、lParam を使用してテキスト表示の四角形を指定し、対応するウィンドウの四角形を受け取ります。 FALSE の場合、ウィンドウの四角形を指定するために lParam を使用し、対応するテキスト表示四角形を受け取ります。

lParam

ツールヒント ウィンドウの四角形またはテキスト表示の四角形を保持する RECT 構造体。

戻り値

四角形が正常に調整された場合は 0 以外の値を返し、エラーが発生した場合は 0 を返します。

解説

このメッセージは、ツールヒント コントロールを使用して、通常は切り捨てられる文字列のフルテキストを表示する場合に特に便利です。 これは一般的に、listview コントロールと treeview コントロールで使用されます。 このメッセージは通常、ツールヒント コントロールを適切に配置できるように 、TTN_SHOW 通知コードに応答して送信します。

ツールヒント ウィンドウの四角形は、ヒント文字列を囲むテキスト表示四角形よりもやや大きくなります。 ウィンドウの原点も、テキスト表示の四角形の原点から左と上にオフセットされます。 テキスト表示の四角形を配置するには、対応するウィンドウの四角形を計算し、その四角形を使用してツールヒントを配置する必要があります。 TTM_ADJUSTRECT は、この計算を処理します。

wParam をTRUE に設定した場合、TTM_ADJUSTRECTは目的のツールヒント テキスト表示四角形のサイズと位置を取得し、指定した位置にテキストを表示するために必要なツールヒント ウィンドウのサイズと位置を返します。 wParam をFALSE に設定すると、ツールヒント ウィンドウの四角形を指定でき、TTM_ADJUSTRECTはテキスト四角形のサイズと位置を返します。

次のコード フラグメントは、 TTM_ADJUSTRECT メッセージを使用してツールヒント コントロールを配置し、切り捨てられた文字列の代わりにコントロールの文字列のフルテキストを表示する方法を示しています。 アプリケーション定義の GetMyItemRect 関数は、切り捨てられた文字列の上にツールヒントテキストを直接表示するために必要なテキスト四角形を返します。 この関数の実装方法の詳細は、特定のコントロールによって異なります。 TTM_ADJUSTRECT は、このテキストの四角形をツールヒント コントロールに送信するために使用されます。 適切なサイズと配置されたウィンドウの四角形が返され、ツールヒント ウィンドウの配置に使用されます。

case TTN_SHOW:

if (MyStringIsTruncated) {
    RECT rc;
    
    GetMyItemRect(&rc);
    SendMessage(hwndToolTip, TTM_ADJUSTRECT, TRUE, (LPARAM)&rc);
    SetWindowPos(hwndToolTip,
                 NULL,
                 rc.left, rc.top,
                 0, 0,
                 SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE);
} 

必要条件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
ヘッダー
Commctrl.h