[VC++]为自定义控件添加ToolTip

想要个性化控件,必须重载控件.刚才试验了一下网上的一个ToolTip方法,记录一下.

 

环境为MFC工程.

添加一个类的成员变量

CToolTipCtrl m_ToolTip;

公开或者私有都无所谓,个人建议为私有成员变量.

 

在类的构造函数里添加

if (m_ToolTip.GetSafeHwnd() == NULL) m_ToolTip.Create(this); m_ToolTip.AddTool(this);

 

重载类的PreTranslateMessage函数,添加一句

m_ToolTip.RelayEvent(pMsg);

这样就做好了,至于鼠标停留后提示什么文字

 

方法一:

可以通过m_ToolTip的UpdateTipText函数设置,比如这样

m_ToolTip.UpdateTipText("提示??????", this);

注意,这里的this是指的自定义类的指针,如果在该类之外调用,不可使用this.

 

方法二:

给这个类添加一个自定义公开函数,调用之,比如这样

//类的头文件(.h)中添加 public: void SetTipText(LPCTSTR pText);

//类的cpp文件中添加 void 类名::SetTipText(LPCTSTR pText) { m_ToolTip.UpdateTipText(pText, this); }

到此控件的ToolTip添加完成.

你可能感兴趣的:(null,mfc,vc++)