MFC 学习之 鼠标移动到Toolbar按钮上显示提示信息(tooltip),状态栏也随之改变
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),状态栏也随之改变的更多相关文章
- Python3 tkinter基础 Button text,fg 按钮上显示的文字 文字的颜色
		
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
 - MFC学习篇(一):用OpenCV显示视频
		
首先是一些基础的步骤,如建立MFC应用,添加按钮等,博主主要参考了下面这篇文章,其中的前32步都是用OpenCV显示图片和视频所必须的,即通用的.由于LZ原来有配置OpenCV的基础,所以配制还是比较 ...
 - 孙鑫MFC学习笔记7:对话框编程(上)
		
1.DoModal创建模态对话框 2.Create创建非模态对话框(需要用ShowWindow显示出来) 模态:对话框显示,程序会暂停,直到对话框关闭 非模态:对话框显示,程序继续执行 3.对于模态对 ...
 - 实用的 鼠标滑上显示提示信息的jq插件
		
使用非常简单, 引用 css js文件, 将需要显示提示信息的元素 添加class="tooltip"类名, 在title属性填写提示信息就好了title="啊啊啊啊&q ...
 - VC/MFC 当鼠标移到控件上时显示提示信息
		
VC/MFC 当鼠标移到控件上时显示提示信息 ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法 ...
 - Python pyQt4/pyQt5 学习笔记1(空白窗口,按钮,控件事件,控件提示,窗体显示到屏幕中间,messagebox)
		
PyQt4是用来编写有图形界面程序(GUI applications)的一个工具包.PyQt4作为一个Python模块来使用,它有440个类和超过6000种函数和方法.同时它也是一个可以在几乎所有主流 ...
 - 学习OpenSeadragon之五(工具条toolbar与自定义按钮)
		
OpenSeadragon简介:学习OpenSeadragon之一(一个显示多层图片的开源JS库) 一.工具条toolbar设置 OpenSeadragon为我们提供了现成的工具条toolBar,工具 ...
 - MFC 学习笔记
		
MFC 学习笔记 一.MFC编程基础: 概述: 常用头文件: MFC控制台程序: MFC库程序: 规则库可以被各种程序所调用,扩展库只能被MFC程序调用. MFC窗口程序: 示例: MFC库中类的简介 ...
 - MFC 如何改变对话框按钮上的文字
		
原文地址:http://blog.163.com/wenxianliang08@126/blog/static/8358326320110300643282/ 什么是标记菜单 如何标记菜单 如何 ...
 
随机推荐
- 【HDOJ】4426 Palindromic Substring
			
综合性很强的一道题目,结合manacher,后缀数组,哈希,RMQ,二分可解.基本思路是通过manacher可以找到所有可能的回文串,哈希去重,后缀数组二分找数目.最后暴力求解.需要注意kth需要为_ ...
 - 更新Windows ActiveX,Ios
			
两天内连续更新Windows ActiveX,和IOS两个平台. Windows ActiveX更新主要是添加加密流在线播放支持. IOS是优化渲染视频. Windows ActiveX 相关地址:h ...
 - bzoj2456
			
有趣的题目 空间1mb,所以开数组的算法就不要想了(我一开始没看到……) 仔细读题,然后发现这里他限定众数为出现超过n div 2次 也就是说,这个数可以对应每一个不相同的数消掉,最终还剩下这个数 也 ...
 - oracle必须启动的服务
			
按照windows 7 64位 安装oracle 11g R2中的方法成功安装Oracle 11g后,共有7个服务,这七个服务的含义分别为: 1. Oracle ORCL VSS Writer Ser ...
 - Welcome to Linux From Scratch!
			
/**************************************************************************** * Welcome to Linux Fro ...
 - 【 D3.js 高级系列 — 4.0 】 矩阵树图
			
矩阵树图(Treemap),也是层级布局的扩展,根据数据将区域划分为矩形的集合.矩形的大小和颜色,都是数据的反映.许多门户网站都能见到类似图1,将照片以不同大小的矩形排列的情形,这正是矩阵树图的应用. ...
 - UVA 11183  Teen Girl Squad  最小树形图
			
最小树形图模板题 #include <iostream> #include <algorithm> #include <cstdio> #include <c ...
 - codeforces 629D  树状数组+LIS
			
题意:n个圆柱形蛋糕,给你半径 r 和高度 h,一个蛋糕只能放在一个体积比它小而且序号小于它的蛋糕上面,问你这样形成的上升序列中,体积和最大是多少 分析:根据他们的体积进行离散化,然后建树状数组,按照 ...
 - C/C++:原码、反码和补码
			
正数的原码.反码和补码是一模一样的. 负数的反码的符号位跟原码一样,但其余各位取反. 负数的补码是其反码的最末位加1得到,即原码取反加1. 补码的补码就是原码. 浮点数的存储格式随着机器的 ...
 - 用户名 不在 sudoers文件中,此事将被报告。
			
原文解决方法:http://blog.csdn.net/lincyang/article/details/21020295 CentOS7.0 用到sudo权限的时候出现的问题,如题. sudo命令可 ...