MFC中使用CToolTipCtrl提示框

第一步:需要的头文件

#include <afxcmn.h>

第二步:在使用的自定义的控件类中,定义类的对象

CToolTipCtrl    m_ToolTipCtrl;

第三步:在构造函数中,激活提示框工具

EnableToolTip ( TRUE ) ;

m_ToolTipCtrl . Create ( this );

m_ToolTipCtrl . Activate ( TRUE );

第四步:在OnMouseMove中使用

  1.1 判断当前鼠标的位置

       LVHITTESTINFO lvhti ;

       lvhti .pt = point ;

       SubItemHitTest ( &lvhti  );

  1.2 此时,可以取出 lvhti .iItem 和 lvhti .iSubItem

  1.3 再获取此时对应的字符串

        CString str ;

        str = GetItemText ( lvhti .iItem , lvhti .iSubitem );

  1.4 再显示到提示框中

        m_ToolTipCtrl . AddTool ( this , str );

        m_ToolTipCtrl . Pop();

  1.5 在不需要显示提示框内容时

        m_ToolTipCtrl . AddTool (this , L"");

        m_ToolTipCtrl . Pop();

第五步:最后,在PreTranslateMessage处理中,对提示框做操作

     if ( pMsg -> message == WM_MOUSEMOVE )

            m_ToolTipCtrl . RelayEvent ( pMsg );

猜你喜欢

转载自blog.csdn.net/qq_32716885/article/details/80276173