处理工具提示的TTN_NEEDTEXT通知
作为 启用工具提示一部分,您将处理 TTN_NEEDTEXT 消息通过将以下条目添加到您的所有者窗口的消息映射:
ON_NOTIFY_EX(TTN_NEEDTEXT, 0, &CMyDialog::OnTtnNeedText)
- memberFxn
将调用成员函数,当文本。此按钮是必需的。
请注意工具提示的 ID 始终为 0。
声明您在类定义的处理程序函数:
afx_msg BOOL OnTtnNeedText(UINT id, NMHDR *pNMHDR, LRESULT *pResult);
在斜体的参数:
id
发送通知控件的标识符。 未使用。 控件 ID 从 NMHDR 结构为例。pNMHDR
为 NMTTDISPINFO 结构的指针。 此结构进一步在 TOOLTIPTEXT 结构还讨论。pResult
结果指针可设置的代码,在返回之前。 TTN_NEEDTEXT 处理程序可以忽略 pResult 参数。
例如窗体视图通知处理程序:
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;
}
调用 EnableToolTips (从 OnInitDialog执行的此片段):
EnableToolTips(TRUE);