MFC中给静态文本加上提示
来源:互联网 发布:pc端前端数据渲染 编辑:程序博客网 时间:2024/05/18 21:10
今天抽空把这个知识记录一下(这也算是我的一个习惯了,无关乎技术含量),上网搜了一下CToolTipCtrl类的用法,搜到一篇文章:
CToolTipCtrl 使用详细解说
我测试了该文的做法,发现要与该文作者商榷一下了。该文作者说:
ToolTip是 Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法。
一般用法步骤:
1.添加CToolTipCtrl成员变量 m_tt。
2.在父窗口中调用 EnableToolTips(TRUE);
3. 在窗口的OnCreate(或者其他适当的位置)中向ToolTip中添加需要显示Tip的子窗口,并同时指定相应的显示字串 CToolTipCtrl::AddTool(pWnd,"string to display")。
4.重载父窗口的 BOOL PreTranslateMessage(MSG* pMsg) ,在函数中调用 m_tt.RelayEvent(pMsg)。
下面假设在窗口CWndYour中使用 CToolTipCtrl
但是我照该文的做法,移动鼠标到静态文本控件上提示并没出来。我感觉正确的做法应该是设置窗口风格。具体是:1、如果你是拖来控件的做法,要把Notify的属性设为TRUE,具体如下图:
2、如果你是动态创建静态文本控件,必须给窗口风格添加SS_NOTIFY(其它窗口我也估计也类似),具体是:
- class CAboutDlg : public CDialog
- {
- public:
- CAboutDlg();
- // 对话框数据
- enum { IDD = IDD_ABOUTBOX };
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
- // 实现
- protected:
- DECLARE_MESSAGE_MAP()
- public:
- virtual BOOL OnInitDialog();
- private:
- CToolTipCtrl m_tt;
- CStatic m_StaticText;
- public:
- virtual BOOL PreTranslateMessage(MSG* pMsg);
- };
- BOOL CAboutDlg::OnInitDialog()
- {
- CDialog::OnInitDialog();
- // TODO: 在此添加额外的初始化
- m_StaticText.Create(_T("my static"), WS_CHILD|WS_VISIBLE|WS_BORDER|SS_NOTIFY,
- CRect(10,10,150,50),this);
- m_tt.Create(this);
- m_tt.Activate(TRUE);
- m_tt.AddTool(&m_StaticText,_T("这是一个静态文本!"));//添加
- return TRUE; // return TRUE unless you set the focus to a control
- // 异常: OCX 属性页应返回FALSE
- }
- BOOL CAboutDlg::PreTranslateMessage(MSG* pMsg)
- {
- // TODO: 在此添加专用代码和/或调用基类
- if (NULL != m_tt.GetSafeHwnd())
- m_tt.RelayEvent(pMsg);
- return CDialog::PreTranslateMessage(pMsg);
- }
我的编译环境为: VS 2005 + sp1, Win XP sp3。
参考文献:
1. CToolTipCtrl 使用详细解说
目录
1控件介绍
控件作用
控件参数定义
2控件参数
参数介绍
空间参数流程
3相关指令
常规指令
操作指令
- MFC中给静态文本加上提示
- MFC中给静态文本加上提示的做法
- 给对话框上的静态文本加上超链接
- VC中给树形控件的图标加上工具提示
- VC中给树形控件的图标加上工具提示
- VC中给树形控件的图标加上工具提示
- 给GridView文本加上边框
- MFC:给按钮加上图片
- 给文本框加上提示效果
- extjs 给column 加上提示
- 给文本框加上提示效果
- DataGridView 给每行加上鼠标文本
- html编辑器给选中文本加上标下表
- 给MFC应用程序加上全屏幕的功能
- 给PowerPoint按钮加上提示文字
- 给phpstrom 加上 yii的redis提示
- 给文本框加上灰色的提示字体
- MFC中静态文本点击后出发事件 产生反应(更改静态文本的值)
- SVN:is already under version control 错误解决
- strcpy函数的实现
- JPanel 面板 java
- linux 中profile和.bashrc详解
- 非常的好的协同过滤入门文章(转载)
- MFC中给静态文本加上提示
- Java正则表达式中的十大问题
- 高斯分布和二项分布属于指数分布族的证明
- asp.net mvc 503 错误
- 图论精练500题
- 使用ngrok让微信公众平台通过80端口访问本机
- yii表单提交Validate过程详解
- 说服与销售:克服层层阻力
- 汉诺塔问题的递归实现(扩展)