zoukankan      html  css  js  c++  java
  • MFC设置工具栏按钮Tip方法总结

    本节主要介绍工具栏按钮显示Tip信息,对应添加工具栏的步骤见工具栏编程

    静态方法

    直接在资源视图里,对要修改的工具栏的某个按钮,在其属性对话框中,对Prompt属性进行修改;Prompt格式为“字符串1 字符串2”,其中字符串1是状态栏提示信息,字符串2是工具栏提示信息,我们修改字符串2即可。

    例如:

    动态方法

    1. OnUserToolTip

    我们可以将框架类中的m_wndToolBar成员变量从CToolBar类型替换成CMFCToolBar类型,并在CMFCToolBar派生类中重写OnUserToolTip 函数,其函数声明如下:

    virtual BOOL OnUserToolTip(
          CMFCToolBarButton* pButton,
          CString& strTTText 
    ) const;
    

    当一个Toolbar按钮需要显示一个Tip信息时,该函数由主框架自动调用。

    2. OnToolTipNotify

    该方法可以使用于框架类、View类、对话框类中,具体步骤如下:

    步骤1:激活Tool Tips

    • 方法一:EnableToolTips(TRUE);
    • 方法二:CreateEx()函数中设置CBRS_TOOLTIPS标识。

    步骤2:函数声明

    afx_msg BOOL OnToolTipNotify(UINT id,NMHDR*pNMHDR,LRESULT*pResult)
    

    步骤3:添加消息映射

    ON_NOTIFY_EX(TTN_NEEDTEXT,0,OnToolTipsNotify)
    

    步骤4:函数实现

    BOOL CMainFrame::OnToolTipNotify(UINT id, NMHDR*pNMHDR, LRESULT*pResult)  
    {  
        TOOLTIPTEXT*pTTT = (TOOLTIPTEXT*)pNMHDR;
        //获取工具栏按钮ID
        UINT nID = pNMHDR->idFrom;                                             
        if (nID)  
        {  
            //根据ID获取按钮索引 
            UINT nIndex = m_wndToolBar.CommandToIndex(nID);                     
            CString strTipText= _T("");
            //判断索引是否正确
            if (-1 != nIndex)                                                  
            {  
                //获得资源句柄  
                pTTT->lpszText = "Tip";               
                //获得资源句柄  
                pTTT->hinst = AfxGetResourceHandle();                        
                return true;  
            }  
        }  
        return false;  
    }
    

    可以参考网络版的msdn:https://msdn.microsoft.com/zh-cn/library/cc485577(v=vs.71).aspx


  • 相关阅读:
    oracle中统计邮箱的总类
    java中形参的值传递
    There is no Action mapped for action name的解决方法
    java操作excel
    验证邮箱地址是否真实有效
    Tomcat服务器内外网通过IP地址都不能访问
    HashMap遍历的两种方式(转)
    用java实现栈
    oracle中利用merge语句防止重复插入
    sshkeyken 中文手册
  • 原文地址:https://www.cnblogs.com/jinxiang1224/p/8468314.html
Copyright © 2011-2022 走看看