zoukankan      html  css  js  c++  java
  • MFC中添加ToolTip提示框

    为窗口或其中的控件添加提示框,可以使用MFC的类CToolTipCtrl,使用方法如下

    1.在窗口的类定义中添加变量说明:
    class CTooltipTestDlg : public CDialog{

    public:
    CToolTipCtrl m_tt;


    }

    2.在对话框的OnInitDialog()函数中添加如下代码

        EnableToolTips(TRUE);
        m_tt.Create(this);
        m_tt.Activate(TRUE);

        CWnd* pW=GetDlgItem(IDC_CHECK1);//得到控件的指针
        m_tt.AddTool(pW,L"Check1lakjsfasfdasfd");//为此控件添加tip

    3.重载父窗口的 BOOL PreTranslateMessage(MSG* pMsg) ,在函数中调用 m_tt.RelayEvent(pMsg)

    BOOL CTooltipTestDlg::PreTranslateMessage(MSG* pMsg)
    {
        // TODO: Add your specialized code here and/or call the base class

        if (NULL != m_tt.GetSafeHwnd())
        {
            m_tt.RelayEvent(pMsg);
        }


        return CDialog::PreTranslateMessage(pMsg);
    }

    这样就完成了为控件添加Tip。


    如果想修改已添加的tip的内容,可以使用UpdateTipText函数,如下

    CWnd* pW=GetDlgItem(IDC_CHECK1);//得到已添加tip控件
    m_tt.UpdateTipText(L"asdflasdf",pW);//更新tip的内容

    其他控制函数具体可查MSDN的CToolTipCtrl类。


    对于静态文本框,要把Notify的属性设为TRUE;而如果静态文本控件是动态创建的,必须给窗口风格添加SS_NOTIFY,如

    m_StaticText.Create(_T("my static"), WS_CHILD|WS_VISIBLE|WS_BORDER|SS_NOTIFY, 
            CRect(
    10,10,150,50),this);

  • 相关阅读:
    贴板子系列_1-km算法,匈牙利算法
    bzoj 2333
    bzoj 3531 旅行
    斯坦纳树
    可持久化线段树
    下界最小费用最大流
    我们还是太NAive
    ubuntu出现有线已连接却无法上网
    python小爬虫【1】
    [解答]对‘’未定义的引用 collect2: 错误: ld 返回 1
  • 原文地址:https://www.cnblogs.com/jinsedemaitian/p/5589190.html
Copyright © 2011-2022 走看看