共用方式為


如何實作多行工具提示

多行工具提示可讓文字顯示在一行以上。

這些控制項是由 4.70 版和更新版本的通用控制項所支援。 您的應用程式會藉由傳送 TTM_SETMAXTIPWIDTH 訊息來建立多行工具提示,並指定顯示矩形的寬度。 超過此寬度的文字會換行至下一行,而不是擴大顯示區域。 矩形高度會視需要增加,以容納額外的線條。 工具提示控件會自動換行行,或者您可以使用歸位字元/換行字元組合 \r\n,強制在特定位置換行。

產生的顯示會顯示在下圖中。

screen shot of a dialog box with a tooltip that contains text arranged like a multi-line paragraph

注意

NMTTDISPINFO 結構的 szText 成員指定的文字緩衝區只能容納 80 個字元。 如果您需要使用較長的字串,請將NMTTDISPINFOlpszText 成員指向包含所需文字的緩衝區。

 

您需要知道的事項

技術

必要條件

  • 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;
    }

使用工具提示控制件