1.在ResourceView里加入Toolbar资源,命名IDR_TOOLBAR1
2、在主程序的.h文件中加入变量:
          CToolBar m_toolbar;CImageList img;
3、在主程序中.h文件中的BEGIN_MESSAGE_MAP(CDetectorDlg,CDialog)函数中加入:
        ON_NOTIFY_EX( TTN_NEEDTEXT,0,OnToolTipText)

3、在主程序中.h文件中添加消息函数:
afx_msg BOOL OnToolTipText(UINT, NMHDR *pTTTStruct, LRESULT *pResult);

4、创建一个Toolbar工具   详见《MFC 学习之 工具栏》

5.在主程序的.cpp文件中编译函数OnToolTipText//使工具栏显示提示信息

 

BOOL CDormDlg::OnToolTipText(UINT, NMHDR *pTTTStruct, LRESULT *pResult)

{

    ASSERT(pTTTStruct->code == TTN_NEEDTEXTA || pTTTStruct->code == TTN_NEEDTEXTW);

    

    //UNICODE消息

    TOOLTIPTEXTA *pTTA=(TOOLTIPTEXT*)pTTTStruct;

    TOOLTIPTEXTW *pTTW=(TOOLTIPTEXTW*)pTTTStruct;

 

    CString strTipText,strStatus;

    UINT nID = pTTTStruct->idFrom;     

    

    if(pTTTStruct->code == TTN_NEEDTEXTA &&(pTTA->uFlags & TTF_IDISHWND) ||

        pTTTStruct->code ==TTN_NEEDTEXTW &&(pTTW->uFlags & TTF_IDISHWND))

    {

        //strStatus.Format("%d",1);

        nID = ::GetDlgCtrlID((HWND)nID);

        

    }

 

    if(nID != 0)//不为分隔符

    {

    //    AfxMessageBox("1111111111");

        strTipText.LoadString(nID);

        strTipText = strTipText.Mid(strTipText.Find(_T('\n'),0)+1);

        

#ifndef _UNICODE

        if (pTTTStruct->code == TTN_NEEDTEXTA)

        {

            lstrcpyn(pTTA->szText,strTipText,sizeof(pTTA->szText));    

            //AfxMessageBox(pTTA->szText);

            m_bar.SetPaneText(0,pTTA->szText);

        } 

        else

        {            

            _mbstowcsz(pTTW->szText,strTipText,sizeof(pTTW->szText));

            //m_bar.SetPaneText(0,"就绪");

        }

#else

        if(pTTTStruct->code == TTN_NEEDTEXTA)

        {

            _wcstombsz(pTTA->szText,strTipText,sizeof(pTTA->szText))    ;

            m_bar.SetPaneText(0,pTTA->szText);

        }

        else

        {

            lstrcpyn(pTTW->szText,strTipText,sizeof(pTTW->szText));

            m_bar.SetPaneText(0,"就绪");

        }

 

#endif

        *pResult = 0;

        ::SetWindowPos(pTTTStruct->hwndFrom,HWND_TOP,0,0,0,0,SWP_NOACTIVATE |

            SWP_NOSIZE |SWP_NOMOVE |SWP_NOOWNERZORDER);

        //m_bar.SetPaneText(0,"就绪");

        return TRUE;

    }

    

    return TRUE;

}

6.在ResourceView的String资源里,将工具栏中每个按钮的ID都对应上希望显示的提示信息即可


7、效果图

MFC 学习之 鼠标移动到Toolbar按钮上显示提示信息(tooltip),状态栏也随之改变的更多相关文章

  1. Python3 tkinter基础 Button text,fg 按钮上显示的文字 文字的颜色

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  2. MFC学习篇(一):用OpenCV显示视频

    首先是一些基础的步骤,如建立MFC应用,添加按钮等,博主主要参考了下面这篇文章,其中的前32步都是用OpenCV显示图片和视频所必须的,即通用的.由于LZ原来有配置OpenCV的基础,所以配制还是比较 ...

  3. 孙鑫MFC学习笔记7:对话框编程(上)

    1.DoModal创建模态对话框 2.Create创建非模态对话框(需要用ShowWindow显示出来) 模态:对话框显示,程序会暂停,直到对话框关闭 非模态:对话框显示,程序继续执行 3.对于模态对 ...

  4. 实用的 鼠标滑上显示提示信息的jq插件

    使用非常简单, 引用 css js文件, 将需要显示提示信息的元素 添加class="tooltip"类名, 在title属性填写提示信息就好了title="啊啊啊啊&q ...

  5. VC/MFC 当鼠标移到控件上时显示提示信息

    VC/MFC 当鼠标移到控件上时显示提示信息 ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法 ...

  6. Python pyQt4/pyQt5 学习笔记1(空白窗口,按钮,控件事件,控件提示,窗体显示到屏幕中间,messagebox)

    PyQt4是用来编写有图形界面程序(GUI applications)的一个工具包.PyQt4作为一个Python模块来使用,它有440个类和超过6000种函数和方法.同时它也是一个可以在几乎所有主流 ...

  7. 学习OpenSeadragon之五(工具条toolbar与自定义按钮)

    OpenSeadragon简介:学习OpenSeadragon之一(一个显示多层图片的开源JS库) 一.工具条toolbar设置 OpenSeadragon为我们提供了现成的工具条toolBar,工具 ...

  8. MFC 学习笔记

    MFC 学习笔记 一.MFC编程基础: 概述: 常用头文件: MFC控制台程序: MFC库程序: 规则库可以被各种程序所调用,扩展库只能被MFC程序调用. MFC窗口程序: 示例: MFC库中类的简介 ...

  9. MFC 如何改变对话框按钮上的文字

    原文地址:http://blog.163.com/wenxianliang08@126/blog/static/8358326320110300643282/ 什么是标记菜单  如何标记菜单   如何 ...

随机推荐

  1. lib库依赖解决

    当前环境之前是装过MySQL官方版本5.6.22,想测试Percona版本MySQL.启动Percona-MySQL报错. [root@dg7 support-files]# /etc/init.d/ ...

  2. HTML5学习(七)----地理定位

    参考教程:http://www.w3school.com.cn/html5/html_5_geolocation.asp 说明:设备必须有GPS定位功能才能定位的 定位用户的位置 HTML5 Geol ...

  3. Java 简单登录MVC

    构建一个简单的基于MVC模式的JavaWeb 零晨三点半了,刚刚几个兄弟一起出去吼歌,才回来,这应该是我大学第二次去K歌,第一次是大一吧,之后每次兄弟喊我,我都不想去,因为我还是很害怕去KTV,或许是 ...

  4. Java [Leetcode 283]Move Zeroes

    题目描述: Given an array nums, write a function to move all 0's to the end of it while maintaining the r ...

  5. Uva11732(trie)

    题意:给你n个字符串 用strcmp()两两比较 ,求字符比较的总次数 分析: 数据量很大我们考虑用孩子兄弟表示法来表示字典树 #include <cstdio> #include < ...

  6. [Tommas] 测试场景 VS 测试用例 哪个更好?(转)

    分享一篇网上别人的感悟:      6年前,我在一家中型跨国公司工作的时候,我建议与其浪费时间在准备充分的测试用例,还不如编写描述测试场景的文档.所有的人都对我的建议.投以烦恼的目光.他们的脸上清晰地 ...

  7. C#发送简单的HTTP POST请求给传统的ASP网页。

    设计思路 创建HTTPWebRequest类的一个实例,设置这个对象的Method属性为"POST",ContentType属性为"application/x-/www- ...

  8. [娱乐]GameMaker绘制参数方程的图像

    今天,我翻了旧物,硬着头皮看了这源码.突然恍然大悟,这岂不就是当年学的参数方程! 目前,最早开始教授参数方程实在高三时,并作为一门选修课程,简化了求解圆锥曲线方程的难度,在高考中也很容易拿分,考试过后 ...

  9. STM32L152 Keil 开发环境 显示Internal command error Flash down

    使用Keil开发环境对STM32L Discovery进行开发,更新一次firmware后就不能连接目标板了,报错Internal command error Flash download faile ...

  10. tomcat 5 启动过程官方文档

    http://tomcat.apache.org/tomcat-7.0-doc/architecture/startup/serverStartup.txt Licensed to the Apach ...