Come visualizzare le descrizioni comando per i pulsanti
Quando si specifica lo stile di TBSTYLE_TOOLTIPS , la barra degli strumenti crea e gestisce un controllo descrizione comando. Il controllo descrizione comando è nascosto e viene visualizzato solo quando gli utenti spostano il puntatore su un pulsante della barra degli strumenti e lo lasciano lì per circa un secondo.
L'applicazione può fornire testo al controllo descrizione comando in uno dei modi seguenti:
- Impostare il testo della descrizione comando come membro iString della struttura TBBUTTON per ogni pulsante. È inoltre necessario inviare un messaggio TB_edizione Standard TMAXTEXTROWS e impostare il numero massimo di righe di testo su 0, in modo che il testo non venga visualizzato come etichetta del pulsante anziché come descrizione comando.
- Creare la barra degli strumenti con lo stile TBSTYLE_LIST e quindi impostare lo stile esteso TBSTYLE_EX_MIXEDBUTTONS . Le etichette vengono visualizzate solo per i pulsanti con lo stile BTNS_SHOWTEXT. Per i pulsanti che non hanno questo stile, viene visualizzata una descrizione comando che contiene il testo del pulsante.
- Rispondere al codice di notifica TTN_GETDISPINFO .
- Rispondere al codice di notifica TBN_GETINFOTIP .
Un'applicazione che deve inviare messaggi direttamente al controllo tooltip può recuperare l'handle al controllo usando il messaggio TB_GETTOOLTIPS. Un'applicazione può sostituire il controllo descrizione comando di una barra degli strumenti con un altro controllo descrizione comando usando il messaggio TB_edizione Standard TTOOLTIPS.
Il modo più flessibile per fornire il testo della descrizione comando consiste nel rispondere al TTN_GETDISPINFO o al codice di notifica TBN_GETINFOTIP inviato dal controllo barra degli strumenti al relativo elemento padre sotto forma di messaggio WM_NOTIFY. Per TTN_GETDISPINFO, il parametro lParam include un puntatore a una struttura NMTTDISPINFO (definita anche come LPTOOLTIPTEXT) che specifica l'identificatore del comando del pulsante per il quale è necessario il testo della Guida. Questo identificatore si trova nel membro NMTTDISPINFO.hdr.idFrom . Un'applicazione può copiare il testo della Guida nella struttura, specificare l'indirizzo di una stringa contenente il testo della Guida oppure specificare l'handle dell'istanza e l'identificatore di risorsa di una risorsa stringa.
Informazioni importanti
Tecnologie
Prerequisiti
- C/C++
- Programmazione dell'interfaccia utente di Windows
Istruzioni
Visualizzare una descrizione comando per un pulsante
Il codice di esempio seguente gestisce il codice di notifica della descrizione comando TTN_GETDISPINFO fornendo testo dagli identificatori di risorsa.
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;
Argomenti correlati