用Visual C++实现窗口的工具提示(5)
2.2.5为窗口客户区提供工具提示
工具提示控件还可以为窗口的客户区提供工具提示,本文将使之具有如下功能:当鼠标光标在客户区移动时,在光标附近显示当前光标的客户区坐标。具体方法如下:
因为光标移动时发出WM_MOUSEMOVE消息,所以应当在OnMouseMove()方法中为客户区加入工具提示。
// 在文件MyView.cpp中
extern CToolTipCtrl m_ToolTip; //因为m_ToolTip已在MainFrm.cpp中定义
void CMyView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
static int i=0;
CString str;
str.Format(" %d,%d",point.x,point.y);
if(i==0) {
m_ToolTip.AddTool(this,(LPCTSTR)str); //将客户区加入工具列表
i=1;
}
else
m_ToolTip.UpdateTipText((LPCTSTR)str,this); //更新坐标的显示
m_Tool.Activate(TRUE);
CView::OnMouseMove(nFlags, point);
}
3.小结
基于工具提示的编程是一项引人入胜的内容,本文只介绍了一些常用的编程方法。另外,当窗口最小化时,如果最小化窗口无法容纳窗口标题,也会自动出现工具提示;在任务条的通知区域也可以插入用户自定义的图标和相应的工具提示,这可以通过调用Win32 API函数::Shell_NotifyIcon()来实现,详细情况请参见Visual C++的联机文档。
- 上一篇:vc中显示bmp常用的几个函数介绍
- 下一篇:VC读取dat文件