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

    技术2022-05-20  36

    想要个性化控件,必须重载控件.刚才试验了一下网上的一个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添加完成.


    最新回复(0)