• Showing Tool Tips on controls


    CToolTipCtrl can be used to attach tool tips for controls. The tool tips can be placed on any controls using AddTool(), a member function of CToolTipCtrl. This article explains how to show Tool Tips for a command button which is placed on a dialog box.

       Tool tips are shown in a round rectangle adjacent to the controls. They are shown when the Mouse cursor is placed on the control.

    Tool tips on a dialog - CToolTipCtrl:

    • Create a new Dialog based MFC Application. The article assumes the application name as  MFCSample.
    • In the MFCSampleDlg.h file, add a member variable for CToolTipCtrl inside CMFCSampleDlg class as follows.

    CToolTipCtrl *m_ToolTip;

    • Add a Command Button to the dialog box. Create a member variable for the button as m_TESTBUTTON.
    • In the OnInitDialog function of the CMFCSampleDlg class ( MFCSampleDlg.cpp) add the following code.

    m_ToolTip= new CToolTipCtrl();
    EnableToolTips(TRUE); ////// missed line in the original paper. Without this line the code snippet does not work.
    m_ToolTip->Create(this);

    m_ToolTip->AddTool(&
    m_TESTBUTTON,"Test Button");

    m_ToolTip->Activate(TRUE);


    • The above code adds a tool tip for the command button. If the mouse cursor is placed on the button, it shows a tool tip as "Test Button".
    • More controls can be added with the tool tip as above.
    • The following version of PreTranslateMessage should be placed in MFCSampleDlg.cpp, to override the default one.

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

        if(m_ToolTip != NULL)
           m_ToolTip->RelayEvent(pMsg);

        return CDialog::PreTranslateMessage(pMsg);
    }


       The above pretranslatemessage version, ensures that Windows gets the notifications required for the Tool tips.

       The above program creates the CToolTipCtrl variable using the new operator. So the memory should be freed at the end of the program by using the delete operator. 

  • 相关阅读:
    loadRunner运行场景时,事务数为0或是只显示添加的事务的数
    loadrunner12自带的机票预订服务,解决httpd: Could not reliably determine the server's fully qualified domain name 问题
    Loadrunner12的下载和安装
    【AI测试】人工智能 (AI) 测试--第二篇
    【AI测试】人工智能 (AI) 测试--开篇
    CVAT 用户指南
    List of devices attached 没有手机设备号 解决办法
    Pip安装Django超时(time out)解决方法
    ipsec_笔记
    cisco 2600(转)
  • 原文地址:https://www.cnblogs.com/cy163/p/554657.html
Copyright © 2020-2023  润新知