CToolTipCtrl的使用(Using CToolTipCtrl--VS2010)

CToolTipCtrl类封装了ToolTip控件的功能,是一个显示单行文字用来描述应用程序里一个工具的用途的小弹出式窗口。ToolTip窗口是隐藏的,只有当光标放在一个工具上并且停留大约1.5秒才会显示出来。ToolTip出现在光标附近,用户点击了鼠标键或者移动了光标,工具提示窗口就会消失。
  • 创建工具提示的方法
        MS提供了三个类用于创建和管理ToolTip控件,CWnd,CToolBarCtrl,CToolBarCtrl和CMFCToolTipCtrl。这些类中的工具提示成员函数隐藏了Windows通用控件API,CToolBarCtrl和CToolBarCtrl类继承于Cwnd.
        CWnd提供了四个成员函数用于创建和管理ToolTip: EnableToolTipsCancelToolTipsFilterToolTipMessageOnToolHitTest。想了解更多ToolTips是如何实现的,可以查看这几个成员函数。
        如果你用CToolBarCtrl创建了一个工具栏,你可以使用下面的成员函数直接实现这个工具栏的ToolTips:GetToolTips和SetToolTips。想了解更多ToolTips是如何实现的,可以查看这几个成员函数和工具提示通告消息的处理。
        CToolTipCtrl类提供了Windows通用ToolTip控件的功能,一个ToolTip控件可以给一个或者更多工具提供信息。一个ToolTip也是一个窗口,就像一个子窗口、一个控件或者是一个由程序在窗口客户区定义的一个矩形区域。CMFCToolTipCtrl继承自CToolTipCtrl,提供了更多的视觉风格和功能。
  • ToolTip控件的设置
    ToolTip控件激活或者不激活。当你设置它激活时,ToolTip控件在光标放在工具上时就会显示。设置为非激活状态时,ToolTip控件不会出现即使光标放在了一个工具上。调用Activate()激活或关闭一个TooTip控件。

通过设置TTS_ALWAYSTIP风格,你可以让一个激活的ToolTip控件在光标放在一个工具上时显示工具提示,不用理会拥有ToolTip控件的窗口是否处于激活状态。如果你没有使用这个风格,toolTip控件只会在父窗口激活的时候出现,没有激活时则不会出现。

大多数的应用程序包含对应于菜单命令的包含一些工具的工具栏。对这些工具,ToolTip控件显示和菜单项相一致的内容,这无疑会很方便。系统自动从传递给ToolTip控件的所有字符串中分离&加速字符,除非你使用了TTS_NOPREFIX风格(无前缀)。

 
  • 使用CToolTipCtrl创建和控制一个CToolTipCtrl对象
  1. 构造一个CToolTipCtrl对象。
  2. 调用Create创建窗口工具提示通用控件并附加到创建的CToolTipCtrl对象。
  3. 调用AddTool给工具提示控件控件注册一个工具,这样当光标移动到这个工具上时就会显示存储在工具提示里的信息。
  4. 调用SetToolInfo设置工具提示为某个工具保存的信息。
  5. 调用SetToolRect为工具设置新的矩形边界。
  6. 调用HitTest测试一个点是否在给定工具的矩形边界内,如果是则返回工具的信息。
  7. 调用GetToolCount获取已注册到工具提示的工具数量。
  •     控制工具提示控件
    CToolTipCtrl类提供了一组成员函数用来控制CToolTipCtrl对象的各种属性和工具提示窗口。
可以调用GetDelayTime和SetDelayTime获取和设置工具提示窗口的初始化、弹出、重画间隔。使用以下的函数改变工具提示窗口的外观。
                GetMargin和SetMargin  获取和设置工具提示边框与提示文本的间隔宽度。
                GetMaxTipWidth和SetMaxTipWidth 获取和设置工具提示窗口的最大宽度
                GetTipBkColor和SetTipBkColor 获取和设置工具提示窗口的背景颜色
                GetTipTextColor和SetTipTextColor 获取和设置工具提示窗口文本颜色
    为 了使工具提示控件接收到重要的消息,例如WM_LBUTTONXXX消息,你必须把消息传递给工具提示控件。最好的方法是在所有者窗口的PreTranslateMessage函数中调用CToolTipCtrl::RelayEvent,下面的例子阐述了一个可用的方法(假设工具提示控件为m_ToolTip)。
C++
BOOL CMyDialog::PreTranslateMessage(MSG* pMsg)
{
    if(pMsg->message== WM_LBUTTONDOWN ||
          pMsg->message== WM_LBUTTONUP ||
          pMsg->message== WM_MOUSEMOVE)
       {
          m_ToolTipCtrl.RelayEvent(pMsg);
       }
 
    return  CDialog::PreTranslateMessage(pMsg);
}
调用Pop成员函数,立即移除一个视图里的工具提示窗口。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值