Anzeigen von QuickInfos für Schaltflächen

Wenn Sie den TBSTYLE _ TOOLTIPS-Stil angeben, erstellt und verwaltet die Symbolleiste ein QuickInfo-Steuerelement. Das QuickInfo-Steuerelement ist ausgeblendet und wird nur angezeigt, wenn Benutzer den Mauszeiger über eine Symbolleistenschaltfläche bewegen und dort etwa eine Sekunde lang belassen.

Ihre Anwendung kann text für das QuickInfo-Steuerelement auf eine der folgenden Arten bereitstellen:

Eine Anwendung, die Nachrichten direkt an das QuickInfo-Steuerelement senden muss, kann das Handle mithilfe der TB _ GETTOOLTIPS-Nachricht an das Steuerelement abrufen. Eine Anwendung kann das QuickInfo-Steuerelement einer Symbolleiste mithilfe der TB _ SETTOOLTIPS-Nachricht durch ein anderes QuickInfo-Steuerelement ersetzen.

Die flexibelste Möglichkeit zum Bereitstellen von QuickInfo-Text besteht darin, auf den TTN _ GETDISPINFO- oder TBN _ GETINFOTIP-Benachrichtigungscode zu reagieren, der vom Symbolleistensteuerelement in Form einer WM _ NOTIFY-Nachricht an das übergeordnete Element gesendet wird. Für TTN _ GETDISPINFOenthält der lParam-Parameter einen Zeiger auf eine NMTTDISPINFO-Struktur (auch als LPTOOLTIPTEXT definiert), die den Befehlsbezeichner der Schaltfläche angibt, für die Hilfetext erforderlich ist. Dieser Bezeichner befindet sich im Element NMTTDISPINFO.hdr.idFrom. Eine Anwendung kann den Hilfetext in die Struktur kopieren, die Adresse einer Zeichenfolge angeben, die den Hilfetext enthält, oder das Instanzhandle und den Ressourcenbezeichner einer Zeichenfolgenressource angeben.

Wichtige Informationen

Technologien

Voraussetzungen

  • C/C++
  • Windows Benutzeroberfläche-Programmierung

Instructions

Anzeigen einer QuickInfo für eine Schaltfläche

Im folgenden Beispielcode wird der TTN GETDISPINFO-QuickInfo-Benachrichtigungscode _ verarbeitet, indem Text aus Ressourcenbezeichnern angegeben wird.

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;

Verwenden von Symbolleistensteuerelementen

Demo Windows allgemeinen Steuerelementen (CppWindowsCommonControls)