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:
- Legen Sie den QuickInfo-Text als iString-Member der TBBUTTON-Struktur für jede Schaltfläche fest. Sie müssen auch eine _ TB SETMAXTEXTROWS-Nachricht senden und die maximale Textzeilen auf 0 festlegen, damit der Text nicht als Schaltflächenbezeichnung und nicht als QuickInfo angezeigt wird.
- Erstellen Sie die Symbolleiste mit dem TBSTYLE _ LIST-Stil, und legen Sie dann den erweiterten TBSTYLE EX _ _ MIXEDBUTTONS-Stil fest. Bezeichnungen werden nur für Schaltflächen mit dem BTNS _ SHOWTEXT-Stil angezeigt. Für Schaltflächen ohne diesen Stil wird eine QuickInfo angezeigt, die den Schaltflächentext enthält.
- Reagieren Sie auf den TTN _ GETDISPINFO-Benachrichtigungscode.
- Reagieren Sie auf den _ TBN-GETINFOTIP-Benachrichtigungscode.
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;