MFC中有一个CToolTipCtrl类,想必大家都知道,近来我在一个项目中需要在ActiveX Control上为特定的控件或区域添加提示.开始使用CToolTipCtrl,但发现它根本就不工作.无奈,只好自己写了一个类来实现它.
该类为CTip(包含CTip.c和CTip.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¦WS_CHILD¦WS_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);
tooltip2 与 ctooltipctrl 小结
最新推荐文章于 2015-10-15 17:34:08 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)