1.要注意两点:(1)用AddTool()添加一个窗体后,当鼠标在这个窗体内移动时,UpdateTipText()才会起作用。用途:把某个窗体添加到这个提示控件后,这个窗体中的代码可以用UpdateTipText()来动态改变提示信息。
(2)EnableToolTips(TRUE)后,ON_NOTIFY_EX( TTN_NEEDTEXT, 0, &MyDlg::SetTipText )才会起作用。用途:这个用于当鼠标移动到某个控件上时动态设置此时的提示信息。
2.实例
MyDlg.h:
class MyDlg : public CDialog
{
CToolTipCtrl m_pContentTip;
afx_msg BOOL SetTipText( UINT id, NMHDR * pTTTStruct, LRESULT * pResult );
}
ON_NOTIFY_EX( TTN_NEEDTEXT, 0, &MyDlg::SetTipText )//当鼠标移动到一个控件上的时候,就会产生一个这样的消息
BOOL MyDlg::SetTipText( UINT id, NMHDR * pTTTStruct, LRESULT * pResult )
{
TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pTTTStruct;
UINT nID =pTTTStruct->idFrom; //得到相应窗口ID,有可能是HWND
if (pTTT->uFlags & TTF_IDISHWND) //表明nID是否为HWND
{