共用方式為


TTM_ADJUSTRECT訊息

從工具提示控制項的視窗矩形計算工具提示控制項的文字顯示矩形,或顯示指定文字顯示矩形所需的工具提示視窗矩形。

參數

wParam

值,指定要執行的作業。 如果為 TRUE則會使用 lParam 來指定文字顯示矩形,並接收對應的視窗矩形。 如果為 FALSE則會使用 lParam 來指定視窗矩形,並接收對應的文字顯示矩形。

lParam

RECT 結構,可保存工具提示視窗矩形或文字顯示矩形。

傳回值

如果成功調整矩形,則傳回非零值,並在發生錯誤時傳回零。

備註

當您想要使用工具提示控制項來顯示通常截斷的字串全文時,此訊息特別有用。 它通常與 listview 和 treeview 控制項搭配使用。 您通常會傳送此訊息以回應 TTN_SHOW 通知程式碼,以便正確定位工具提示控制項。

工具提示視窗矩形稍微大於系結工具提示字串的文字顯示矩形。 視窗原點也會從文字顯示矩形的原點向上和向左位移。 若要放置文字顯示矩形,您必須計算對應的視窗矩形,並使用該矩形來定位工具提示。 TTM_ADJUSTRECT 為您處理此計算。

如果您將 wParam 設定為 TRUETTM_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