共用方式為


如何顯示按鈕的工具提示

當您指定 TBSTYLE_TOOLTIPS 樣式時,工具列會建立和管理工具提示控件。 工具提示控件會隱藏,而且只有在使用者將指標移至工具列按鈕上方,並將它留在該處大約一秒時才會顯示。

您的應用程式可以使用下列任一種方式,將文字提供給工具提示控制項:

需要將訊息直接傳送至工具提示控件的應用程式,可以使用 TB_GETTOOLTIPS 訊息來擷取控件的句柄。 應用程式可以使用TB_SETTOOLTIPS訊息,將工具列的工具提示控件取代為另一個工具提示控件。

提供工具提示文字的最彈性方式,是回應工具列控件以WM_NOTIFY訊息形式傳送給其父系的TTN_GETDISPINFOTBN_GETINFOTIP通知碼。 針對TTN_GETDISPINFO,lParam 參數包含 NMTTDISPINFO 結構的指標(也稱為 LPTOOLTIPTEXT),指定需要說明文字之按鈕的命令標識符。 此標識碼位於 NMTTDISPINFO.hdr.idFrom 成員中。 應用程式可以將說明文字複製到 結構、指定包含說明文字的字串位址,或指定字串資源的實例句柄和資源識別符。

您需要知道的事項

技術

必要條件

  • C/C++
  • Windows 使用者介面程序設計

指示

顯示按鈕的工具提示

下列範例程式代碼會藉由提供資源標識碼處理 TTN_GETDISPINFO 工具提示通知程式代碼。

case WM_NOTIFY: 
            
    switch (((LPNMHDR) lParam)->code) 
    {
    
    case TTN_GETDISPINFO: 
        { 
            LPTOOLTIPTEXT lpttt = (LPTOOLTIPTEXT)lParam; 
            
            // Set the instance of the module that contains the resource.
            lpttt->hinst = g_hInst; 
            
            UINT_PTR idButton = lpttt->hdr.idFrom;
            
            switch (idButton) 
            { 
            case IDM_NEW: 
                lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_NEW); 
                break; 
                
            case IDM_OPEN: 
                lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_OPEN); 
                break; 
                
            case IDM_SAVE: 
                lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_SAVE); 
                break; 
            } 
            
            break; 
        } 
    }
    return TRUE;

使用工具列控制件

Windows 通用控件示範 (CppWindowsCommonControls)