如何實作多行工具提示
多行工具提示可讓文字顯示在一行以上。
這些控制項是由 4.70 版和更新版本的通用控制項所支援。 您的應用程式會藉由傳送 TTM_SETMAXTIPWIDTH 訊息來建立多行工具提示,並指定顯示矩形的寬度。 超過此寬度的文字會換行至下一行,而不是擴大顯示區域。 矩形高度會視需要增加,以容納額外的線條。 工具提示控件會自動換行行,或者您可以使用歸位字元/換行字元組合 \r\n,強制在特定位置換行。
產生的顯示會顯示在下圖中。
注意
NMTTDISPINFO 結構的 szText 成員指定的文字緩衝區只能容納 80 個字元。 如果您需要使用較長的字串,請將NMTTDISPINFO的 lpszText 成員指向包含所需文字的緩衝區。
您需要知道的事項
技術
必要條件
- C/C++
- Windows 使用者介面程序設計
指示
實作多行工具提示
下列代碼段是簡單的 TTN_GETDISPINFO 通知處理程式範例。 它會將顯示矩形設定為150圖元,以啟用多行工具提示。 手動換行符會在第一個單字之後插入,以顯示換行符可能很硬且柔和。
case WM_NOTIFY:
{
switch (((LPNMHDR)lParam)->code)
{
case TTN_GETDISPINFO:
LPNMTTDISPINFO pInfo = (LPNMTTDISPINFO)lParam;
SendMessage(pInfo->hdr.hwndFrom, TTM_SETMAXTIPWIDTH, 0, 150);
wcscpy_s(pInfo->szText, ARRAYSIZE(pInfo->szText),
L"This\nis a very long text string " \
L"that must be broken into several lines.");
break;
}
break;
}
相關主題