CToopTipCtrl使用

使用CToolTipCtrl让鼠标提示窗口跟着鼠标在屏幕上移动


用一个跟随便鼠标移的提示窗口显示鼠标坐标位置的例子

1、新建一工程(我这是单文档界面)

2、在View里添加变量
   CToolTipCtrl m_tool; 

 

//www.hebzhiye.wanye68.com

3、在View的OnInitialUpdate(……)函数中写入m_tool的初始化代码
      m_tool.Create(this);
   m_tool.AddTool(this,"windows");
   m_tool.SetDelayTime(10);
   m_tool.Activate(true);

4、在View的PreTranslateMessage(……)函数加入m_tool消息处理
    { 
m_tool.RelayEvent(pMsg);
return CScrollView::PreTranslateMessage(pMsg);
     }

5、在view的鼠标移动事件中加入如下代码:
CString str;
str.Format("%d , %d",point.x,point.y);
m_tool.UpdateTipText(str,this);

基本上,按上面这几步完成就可以达到简单的要求了。
从这一点可看出,如果在鼠标移动时,检索出鼠标位于视图中某个对象(如点,线,面,和其它物体),则可以即时把这个物体的名称以信息提示窗的形式显示出来

=============================================

提示信息:

很多的界面设计都需要有Tip提示,下面描述一下Tip的简单使用方法:

1. 首先要New一个CToolTipCtrl的对象m_pContentTip

2. 调用CToolTipCtrl的create函数,指定其父窗口。可以为某个控件,也可以为this。一般设为this。

   m_pContentTip->Create( this, TTS_ALWAYSTIP );

3. AddTool。此函数是设置与某个控件关联的Tip文本。此处可以为多个控件添加不同的提示信息。

  m_pButtonTip->AddTool( GetDlgItem( 控件ID ), 文本 );

4. SetTipBkColor设置背景颜色。

5. SetTipTextColor设置文本颜色。

6. 最重要的一步。在PreTranslateMessage函数中添加下面语句:

if ( m_pContentTip )
{
   m_pContentTip->RelayEvent( pMsg );
}

另外,还可以使用m_pContentTip->UpdateTipText函数来更新Tip信息。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值