刘海峰的个人主页 首页  |  站点地图  |  关于本站  |  与我联系  |  求职简历  |  给我留言  |  收藏本站  
作品展示 我的日记 音乐世界 文学花园 程序设计 人生感悟
刘海峰的个人主页 作品展示 我的日记 音乐世界 文学花园 程序设计 人生感悟
 
首页 > 程序设计 > Visual C++ > 在VC++中制作按钮提示
如何在VC++中制作按钮提示
作者:刘海峰 / 来源:刘海峰的个人主页 / 发表时间:2006-10-25 15:07:30

利用MFC向导自动生成的单文档或多文档应用程序中,工具栏上都可以有工具提示,只需要编辑其属性,填上需要提示的文本就行了。如果我们想给普通按钮添加提示,该怎么做呢?

其实不难。MFC类库里有一个CToolTipCtrl类,利用该类便可轻松实现。这个类在MSDN里有介绍,我们通常只需用到其中的Create函数和AddTool函数。

virtual BOOL Create( CWnd* pParentWnd, DWORD dwStyle = 0 );

pParentWnd是父窗口指针,通常用this就行了。dwStyle是样式,一般用默认值,即空着这个参数就可以了。

BOOL AddTool( CWnd* pWnd, UINT nIDText, LPCRECT lpRectTool = NULL, UINT_PTR nIDTool = 0 );

BOOL AddTool( CWnd* pWnd, LPCTSTR lpszText = LPSTR_TEXTCALLBACK, LPCRECT lpRectTool = NULL, UINT_PTR nIDTool = 0 );

AddTool函数用来添加要设置工具提示的控件。pWnd为该控件窗口指针。lpRectTool用来指定在什么区域显示工具提示。最简单的用法就是给出两个参数,一个是控件的窗口指针,一个是要提示的字符串。

要制作工具提示,只需要声明一个CToolTipCtrl类的对象,调用Create创建,再调用AddTool添加控件。如有多个控件,可逐个添加。

当你在基于对话框的MFC应用程序中按此方法做时,会看不到效果。别急,我们在PreTranslateMessage中为CToolTipCtrl对象传递一下鼠标消息就行了。假设CToolTipCtrl对象为m_ttCtrl:


    BOOL XXX::PreTranslateMessage( MSG* pMsg )

    {

        //...

        m_ttCtrl.RelayEvent(pMSG);

    }

OK!大功告成!怎么样?你的应用程序界面是不是友好了许多?


相关评论 发表评论
称呼:  此名称显示在评论上
邮箱:  便于联系,不会在网上显示
评论:
验证:   点击以刷新验证码 
首页   |   站点地图   |   关于本站   |   与我联系   |   求职简历   |   给我留言   |   收藏本站
  声明:转载本站原创内容请务必注明出处并附上本站链接,否则视为侵权
本站部分内容来自互联网,如有版权问题,请与本站联系,本站将以最快的速度删除
·站长邮箱:webmaster(at)liuhaifeng.com  ·豫ICP备06016305号
 
::::: Copyright© 2006-2008 刘海峰 保留所有权利 ::: http://www.liuhaifeng.com :::::