Controlar la notificación TTN_NEEDTEXT para la información 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 controladora 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 usado. 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 ventanas no derivadas de CFrameWnd