共用方式為


如何實現多行工具提示

多行工具提示允許文字分成多行顯示。

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

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

包含工具提示的對話框螢幕快照,該工具提示的文字排列成多行段落

注意

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

 

您需要知道的事項

技術

先決條件

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

使用工具提示控件