Notifica di gestione TTN_NEEDTEXT per le descrizioni comandi
Come parte di per attivare le descrizioni comandi, gestire il messaggio di TTN_NEEDTEXT aggiungendo la seguente voce alla mappa messaggi della finestra proprietaria:
ON_NOTIFY_EX(TTN_NEEDTEXT, 0, &CMyDialog::OnTtnNeedText)
- memberFxn
La funzione membro da chiamare quando il testo è necessario per il pulsante.
Si noti che l'ID di una descrizione comandi è sempre 0.
Dichiarare la funzione di gestione nella definizione della classe come segue:
afx_msg BOOL OnTtnNeedText(UINT id, NMHDR *pNMHDR, LRESULT *pResult);
dove i parametri visualizzati in corsivo sono:
id
Identificatore del controllo che ha inviato la notifica.Non utilizzato.L'id del controllo viene effettuata dalla struttura di NMHDR .pNMHDR
Un puntatore a una struttura di NMTTDISPINFO .Questa struttura viene trattata ulteriormente in La struttura di TOOLTIPTEXT.pResult
Un puntatore a verificarsi codice che è possibile impostare prima del completamento di.I gestori diTTN_NEEDTEXT possono ignorare il parametro di pResult .
Come esempio di un gestore di notifica di visualizzazione form:
BOOL CMyDialog::OnTtnNeedText(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
{
UNREFERENCED_PARAMETER(id);
NMTTDISPINFO *pTTT = (NMTTDISPINFO *) pNMHDR;
UINT_PTR nID = pNMHDR->idFrom;
BOOL bRet = FALSE;
if (pTTT->uFlags & TTF_IDISHWND)
{
// idFrom is actually the HWND of the tool
nID = ::GetDlgCtrlID((HWND)nID);
if(nID)
{
_stprintf_s(pTTT->szText, sizeof(pTTT->szText) / sizeof(TCHAR),
_T("Control ID = %d"), nID);
pTTT->hinst = AfxGetResourceHandle();
bRet = TRUE;
}
}
*pResult = 0;
return bRet;
}
Chiamata EnableToolTips (questo frammento ottenuto da OnInitDialog):
EnableToolTips(TRUE);