TTM_ADJUSTRECT訊息
從工具提示控制項的視窗矩形計算工具提示控制項的文字顯示矩形,或顯示指定文字顯示矩形所需的工具提示視窗矩形。
參數
-
wParam
-
值,指定要執行的作業。 如果為 TRUE, 則會使用 lParam 來指定文字顯示矩形,並接收對應的視窗矩形。 如果為 FALSE, 則會使用 lParam 來指定視窗矩形,並接收對應的文字顯示矩形。
-
lParam
-
RECT 結構,可保存工具提示視窗矩形或文字顯示矩形。
傳回值
如果成功調整矩形,則傳回非零值,並在發生錯誤時傳回零。
備註
當您想要使用工具提示控制項來顯示通常截斷的字串全文時,此訊息特別有用。 它通常與 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 [僅限桌面應用程式] |
標頭 |
|