实现当鼠标在按钮上时,出现tip提示信息!
来源:互联网 发布:网络生存游戏 编辑:程序博客网 时间:2024/05/17 23:21
今天一直在考虑在工具栏上实现当鼠标在按钮上时,出现tip提示信息。首先看了一些文档,要用到CToolTipCtrl这类,我按着实现了下,首先说明下我新建的工程是基于对话框的工程,动态添加工具栏。
刚开始使用了网上的那种步骤:
1. 创建一个CToolTipCtrl成员
CToolTipCtrl m_tooltip;
2. 添加消息映射。在消息映射宏BEGIN_MESSAGE_MAP(CRDlg, CDialog)和END_MESSAGE_MAP()之间添加如下内容。
ON_NOTIFY_EX( TTN_NEEDTEXT, 0, SetTipText )
3.声明消息处理函数
BOOL SetTipText(UINT id, NMHDR * pTTTStruct, LRESULT * pRes) ;
4. 打开工具消息提示功能。调用CToolTipCtrl的BOOL Create( CWnd*pParentWnd, DWORDdwStyle = 0 )函数创建一个CToolTipCtrl。添加在OnInitDialog()函数中。
EnableToolTips(TRUE);
m_tooltip.create(this);
5. 注册一个工具。如果只是给一个控件添加提示消息,可以直接将LPSTR_TEXTCALLBACK改为提示消息,不需要消息映射及消息处理函数,但只能给一个控件添加。
m_Ttc.AddTool(GetDlgItem(IDC_RESET), LPSTR_TEXTCALLBACK);
m_Ttc.AddTool(GetDlgItem(IDC_SHUFFLE), LPSTR_TEXTCALLBACK);
6.实现消息处理函数
1. BOOL CRubiksCubeDlg::SetTipText(UINT id, NMHDR * pTTTStruct, LRESULT * pRes)
2. {
3. TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pTTTStruct;
4. UINT nID =pTTTStruct->idFrom;
5. if (pTTT->uFlags & TTF_IDISHWND)
6. {
7. nID = ::GetDlgCtrlID((HWND)nID);
8. switch(nID)
9. {
10. case(IDC_SHUFFLE):
11. {
12. strcpy(pTTT->lpszText,"随机");
13. return TRUE;
14. break;
15. }
16. case(IDC_RESET):
17. {
18. strcpy(pTTT->lpszText,"重置");
19. return TRUE;
20. break;
21. }
22. }
23. }
24. return FALSE;
25.
26. }
我想说的是,我按照这个实现的时候,如果是对话框自己的静态的控件可以完美实现,但是动态添加的控件,运行到addtool时候程序就崩溃了。至今找不到问题所在。
后来使用了另一种方法,实现了,方法如下:
CMydlg::OnInitialUpdate()
{
m_toolTip.Create(this);
CRect rect;
// Set tooltips for toolbar1
m_toolBar.GetItemRect(0, rect);//m_toolBar为CToolBarCtrl类
m_toolTip.AddTool(&m_toolBar1, ID_TB1_ONE, rect, ID_TB1_ONE);
m_toolBar.GetToolBarCtrl().GetItemRect(1, rect);
m_toolTip.AddTool(&m_toolBar1, ID_TB1_TWO, rect, ID_TB1_TWO);
m_toolBar.GetToolBarCtrl().GetItemRect(2, rect);
m_toolTip.AddTool(&m_toolBar1, ID_TB1_THREE, rect, ID_TB1_THREE);
// Associate ToolTipCtrl with ToolBars
m_toolBar.GetToolBarCtrl().SetToolTips(&m_toolTip);
}
- 实现当鼠标在按钮上时,出现tip提示信息!
- MFC/VC中当鼠标停靠在按钮等控件上时出现文字提示功能
- MFC/VC中当鼠标停靠在按钮等控件上时出现文字提示功能
- MFC/VC中当鼠标停靠在按钮等控件上时出现文字提示功能
- VC中当鼠标停靠在按钮等控件上时出现文字提示功能
- MFC/VC中当鼠标停靠在按钮等控件上时出现文字提示功能
- JfreeChart 在Struts2 web上显示柱状图并当鼠标经过是出现提示信息
- jquery当鼠标移动到button按钮控件时,会出现提示信息
- c#.net中如何实现将鼠标放在按钮上,出现提示文字?
- js实现鼠标放上按钮出现提示
- java中怎样实现当鼠标移动到按钮的时候有提示文字出现
- 当鼠标移到某一元素上时候显示提示信息,离开时提示信息也消失
- C#中怎样在Button控件上添加提示语,让鼠标经过按钮时显示提示信息!
- MFC/vc中当鼠标经过按钮等控件时出现文字提示功能
- MFC/VC中当鼠标经过按钮等控件时出现文字提示功能
- MFC/vc中当鼠标经过按钮等控件时出现文字提示功能
- VC/MFC 当鼠标移到控件上时显示提示信息
- JFreeChart当鼠标停留在热点提示自定义信息功能
- 不需要Real-Time的四个理由
- 3DSMaxSDK 导出顶点tangent、binormal、normal的方法
- Windows完成端口与Linux epoll技术简介
- 谈EXPORT_SYMBOL使用
- invalidate()源码分析
- 实现当鼠标在按钮上时,出现tip提示信息!
- C# this关键字引用类的当前实例。
- 单身快乐(致一个人的情人节)
- 存储系统
- VC6在64位Windows7(家庭版或其他版本)下调试的时候,再结束调试,程序无法退出
- 把握本质规律——《数学之美》作者吴军
- android 代码优化
- WPF接口实例
- javascript Boolean使用