1. 新建对话框,添加成员变量:
// 添加成员变量
CToolTipCtrl m_tip[2];
// 添加成员变量
CWnd *m_pSub[2];
2. 在初始化函数OnInitDialog()中,添加代码:
m_pSub[0] = GetDlgItem(IDC_RADIO1); //得到单选按钮的指针
m_pSub[1] = GetDlgItem(IDC_BUTTON1);
m_tip[0].Create(m_pSub[0],TTS_ALWAYSTIP); //创建CToolTipCtrl
m_tip[0].AddTool(m_pSub[0]); //将CToolTipCtrl与相应的控件对应起来
m_tip[1].Create(m_pSub[1],TTS_ALWAYSTIP);
m_tip[1].AddTool(m_pSub[1]);
m_tip[0].SetTipTextColor(RGB(255,0,0)); //设定文字的颜色
m_tip[0].SetDelayTime(150); //设定提示文字在控件上停留的时间
3. 使用类向导,重载PreTranslateMessage(MSG* pMsg)函数,增加如下代码:
if(m_tip[0].m_hWnd!=NULL)
m_tip[0].RelayEvent(pMsg); //如果m_tip[0]句柄不为空,就从主窗口中捕获消息,如WM_MOUSEMOVE,WM_LBUTTONDOWN等消息
if(m_tip[1].m_hWnd!=NULL)
m_tip[1].RelayEvent(pMsg);
4. 添加 WM_MOUSEMOVE消息响应,在OnMouseMove(...)函数中添加代码:
CString str = NULL;
GetDlgItem(IDC_EDIT_COL)->GetWindowText(str);
if (!str.IsEmpty())
{
str = str;
}
else
{
str = _T("数据为空!");
}
m_tip[0].UpdateTipText(/*_T("VC知识库欢迎你!")*/str,m_pSub[0]); //鼠标在相应的控件上移动时显示提示文字
m_tip[1].UpdateTipText(_T("http://vckbase.com"),m_pSub[1]);