Partager via


Notification de la gestion TTN_NEEDTEXT pour les info-bulles

Dans le cadre de activer des info-bulles, vous traitez le message de TTN_NEEDTEXT en ajoutant l'entrée suivante à la table des messages de la fenêtre propriétaire :

ON_NOTIFY_EX(TTN_NEEDTEXT, 0, &CMyDialog::OnTtnNeedText)
  • memberFxn
    La fonction membre à appeler lorsque le texte est nécessaire pour ce bouton.

Notez que l'ID d'une info-bulle est toujours 0.

Déclarez votre fonction gestionnaire dans la définition de classe comme suit :

afx_msg BOOL OnTtnNeedText(UINT id, NMHDR *pNMHDR, LRESULT *pResult);

lorsque les paramètres en italique sont :

  • id
    Identificateur du contrôle qui a envoyé la notification.Non utilisé.L'identificateur du contrôle est issu de la structure de NMHDR .

  • pNMHDR
    Un pointeur vers la structure de NMTTDISPINFO .Cette structure est également décrite ultérieurement dans La structure de TOOLTIPTEXT.

  • pResult
    Un pointeur vers le résultant code que vous pouvez définir avant le retourniez.Les gestionnaires deTTN_NEEDTEXT peuvent ignorer le paramètre d' pResult .

Prenons un exemple d'un gestionnaire de notification en mode formulaire :

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

Appel EnableToolTips (ce fragment pris d' OnInitDialog) :

EnableToolTips(TRUE);

Voir aussi

Concepts

Info-bulles dans les fenêtres non dérivées de CFrameWnd