Condividi tramite


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);

Vedere anche

Concetti

Descrizioni comandi in Windows non derivate da CFrameWnd