tooltip2 与 ctooltipctrl 小结

本文介绍了如何在MFC中自定义CToolTip2类来实现在ActiveX Control上为特定控件或区域添加提示功能。CToolTipCtrl类在某些情况下无法满足需求,因此作者创建了CTip类,通过Create、SetText和Show等方法实现提示的创建、设置和显示。文章提供了CTip类的源代码,并给出了在鼠标移动事件中如何使用该类的例子。
摘要由CSDN通过智能技术生成

 MFC中有一个CToolTipCtrl,想必大家都知道,近来我在一个项目中需要在ActiveX Control上为特定的控件或区域添加提示.开始使用CToolTipCtrl,但发现它根本就不工作.无奈,只好自己写了一个类来实现它.
该类为CTip(包含CTip.cCTip.h)
你只需在你的工程中加入它,就可以使用.
使用步骤:
        1.在初始化时Create(CWnd* pParentWnd).
        2.MoseMove(CPoint point)中调用SetText(const CString& rsText)来设置要显示的文本.
        3.MoseMove(CPoint point)中调用Show(CPoint point)显示该提示.
使用说明:
        1.Create中所作的是用CreateEX来创建一个窗口,这个窗口的大小为0,显示标题为空,风格为WS_POPUP&brvbarWS_CHILD&brvbarWS_CLIPSIBLINGS
        2.这里有一个技巧,你必须知道当你的鼠标位于哪个范围时,该提示应当出现.因此你可以有两种选择:之一,你直接指定该范围(设置一个CRect)或是添加一个成员变量来动态记录该范围;之二,你可以调用如下:  
          CRect rect;
          CWnd* pwnd = GetDlgItem(ID_xxx);
          pwnd->GetWindowRect(&rect);
          ScreenToClient(&rect);
          这样也可以得到当前的rect.然后你可以调用如下:
          if(rect.PtInRect(point))
          {
              m_tip.SetText(m_varname);
              m_tip.Show(point);
     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值