在picture控件如何使用CToolTipCtrl提示控件

背景:

在做项目是要实现这样的功能:当把鼠标放在picture控件的不同位置显示不同的提示信息。该picture控件是放在某个对话框上的,假设该对话框为A。该picture控件的属性NOTIFY设为TURE。在对话框A对应的类中添加提示控件类型成员变量m_tooltip;在该类中的OnInitDialog中把m_toolTip控件和picture控件关联起来。m_toolTip控件其它设置请参考网上相关文章。

出现的问题:

picture可以响应提示信息,但是不能根据鼠标位置的不同显示不同的提示信息。

解决方法:

1、从CStatic派生子类CMyStatic,在CMyStatic类中添加提示控件类型成员变量m_tooltip,重写虚函数PreSuclassWindow()和PreTranslateMessage()。
在PreSuclassWindow()中添加如下代码:
m_tooltip.Create(this);
m_tooltip.AddTool(this,_T("要提示的信息"));
m_tooltip.SetDelayTime(TTDT_INITIAL, 100);
m_tooltip.SetDelayTime(TTDT_AUTOPOP, 500);
m_tooltip.SetMaxTipWidth(200);

在PreTranslateMessage()中添加如下代码:
m_tooltip.RelayEvent(pMsg);
2、在CMyStatic类中添加OnMouseMove()函数,根据鼠标位置的设置不同的提示信息:
m_tooltip.UpdateTipText(_T("不同的提示信息"), this);
3、为picture控件添加CMyStatic类型的值变量,属性NOTIFY还是设置为TURE。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值