Compartir a través de


Administrar la notificación de TTN_NEEDTEXT para informaciones sobre herramientas

Como parte de habilitar información sobre herramientas, administre el mensaje de TTN_NEEDTEXT por que agrega la siguiente entrada al mensaje de la ventana propietaria asignado:

ON_NOTIFY_EX(TTN_NEEDTEXT, 0, &CMyDialog::OnTtnNeedText)
  • memberFxn
    La función miembro que se llamará cuando el texto es necesario para el botón.

Observe que el identificador de una información sobre herramientas siempre es 0.

Declare la función de controlador en la definición de clase de la manera siguiente:

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

donde los parámetros título en cursivas:

  • id
    Identificador del control que envió la notificación.No se utiliza.El id. del control se toma de la estructura de NMHDR .

  • pNMHDR
    Un puntero a la estructura de NMTTDISPINFO .Esta estructura también se describe más detalladamente en La estructura de TOOLTIPTEXT.

  • pResult
    Un puntero al código de resultado que puede establecer antes de volver.Los controladores deTTN_NEEDTEXT pueden omitir el parámetro de pResult .

Como ejemplo de un controlador de notificación de formulario-vista:

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

Llamada EnableToolTips (este fragmento tomado de OnInitDialog):

EnableToolTips(TRUE);

Vea también

Conceptos

Información sobre herramientas en Windows No derivado de CFrameWnd