MFC中的三类消息

在MFC应用程序中消息主要有三种类型:标准(窗口)消息、命令消息和控件消息(通知)。

1、标准(窗口)消息:窗口消息一般与窗口内部运作有关,如创建窗口,绘制窗口,销毁窗口,通常,消息是从系统发到窗口,或从窗口发到系统。发送函数SendMessage()或者PostMessage()。除WM_COMMAND之外,所有的以WM_开头的消息。从CWnd派生的类,都可以接受到这类消息。注意:标准消息并不需要我们指定处理函数名称,是默认的对应关系。 

宏名称 对应消息 消息处理函数 
ON_WM_CHAR WM_CHAR OnChar 
ON_WM_CLOSE WM_CLOSE OnClose 
ON_WM_CREATE WM_CREATE OnCreate 
ON_WM_DESTROY WM_DESTROY OnDestroy 
ON_WM_LBUTTONDO WNWM_LBUTTONDOWN OnLButtonDown 
ON_WM_LBUTTONUP WM_LBUTTONUP OnLButtonUp 
ON_WM_MOUSEMOVE WM_MOUSEMOVE OnMouseMove 
ON_WM_PAINTWM_PAINT OnPaint 

2、命令消息:命令消息通常与处理用户请求有关,当用户单击一个菜单或工具栏时,命令消息就产生了。并发送到能处理该消息的类或函数(如装载文本,保存选项等)这类消息都以WM_COMMAND呈现。在MFC中,通过菜单标识(ID)来区分不同的命令消息;在SDK中,通过消息的wParam参数识别,其wParam 记录着该消息来自哪一个菜单项目。 

ON_COMMAND(IDM_ABOUT, OnAbout) 
ON_COMMAND(IDM_FILENEW, OnFileNew) 
ON_COMMAND(IDM_FILEOPEN, OnFileOpen) 
ON_COMMAND(IDM_FILESAVE, OnFileSave) 

3、控件消息:由控件产生的消息,例如,按钮的单击,列表框的选择等均产生此类消息,为的是向其父窗口(通常是对话框)通知事件的发生。这类消息是以WM_NOTIFY形式呈现。
控件宏 消息处理函数 
Button ON_BN_CLICKED(<id>,<memberFxn>) memberFxn 
ComboBox ON_CBN_DBLCLK(<id>,<memberFxn>) memberFxn 
Edit ON_EN_SETFOCUS(<id>,<memberFxn>) memberFxn 
ListBox ON_LBN_DBLCLK(<id>,<memberFxn>) memberFxn 


MFC命令消息的路由:AfxWndProc(替换了窗口过程函数)->AfxCallWndProc->WindowProc->OnWnddMsg->(如果是命令消息则调用Oncommand;如果是通知消息则调用OnNotify)->OnCmdMsg 。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyEclipse 快捷键大全

-------------------------------------MyEclipse 快捷键1(CTRL) ------------------------------------- Ctrl1 快速修复 CtrlD: 删除当前行 CtrlQ 定位到最后编辑的地方 CtrlL 定位在某行 CtrlO 快速显示 OutLine CtrlT 快速显示当前类的继承结构 CtrlW 关闭当前Editer CtrlK…

新智能时代颠覆情报的未来

来源&#xff1a;王飞跃的科学网博客摘要&#xff1a;人工情报机构以“数字”和软件的形式记录或承载了一个实际情报机构的知识、行动和组织等KAO一体化的步骤与过程。访中科院自动化研究所复杂系统管理与控制国家重点实验室主任 王飞跃本期嘉宾&#xff1a;王飞跃&#xff0c;…

MySQL 授权远程登录(Ubuntu 环境)

环境&#xff1a;Ubuntu 13.10 (GNU/Linux 3.11.0-12-generic i686) 在用 Navicat 连接远程数据库时报错&#xff1a; ERROR 1130 (HY000): Host *** is not allowed to connect to this MySQL server 原因是数据库的账号没有给这个 IP 授权&#xff0c;因此不能执行远程登录。…

MFC实现图像灰度、采样和量化功能详解

本文主要讲述基于VC6.0 MFC图像处理的应用知识&#xff0c;主要结合自己大三所学课程《数字图像处理》及课件进行讲解&#xff0c;主要通过MFC单文档视图实现显示BMP格式图片&#xff0c;并通过Bitmap进行灰度处理、图片采样和量化功能。 个人认为对初学者VC6.0可能还是…

97页PPT,读懂自动驾驶全产业链发展!

来源&#xff1a;兴业证券近年来&#xff0c;汽车电子正在朝着电动化、网联化、智能化、共享化方向发展&#xff0c;尤其是大幅精进的自动驾驶技术备受关注。本文汇总了自动驾驶相机、雷达、高精地图等产业链情况&#xff0c;从中可以看出汽车无人驾驶行业蓝图。如今&#xff0…

webservice 原理

webservice 原理1.soap协议&#xff0c;其实就是用http协议来传输xml格式的数据&#xff0c;可以post,get。一般有post。2.服务端有&#xff1a;本地程序代码&#xff08;也不是dll&#xff09;和xml格式的文件用来描述dll信息&#xff1a;方法名&#xff0c;返回值&#xff0c…

MFC对话框绘制灰度直方图

本文主要讲述基于VC6.0 MFC图像处理的应用知识&#xff0c;主要结合自己大三所学课程《数字图像处理》及课件进行回忆讲解&#xff0c;主要通过MFC单文档视图实现点击弹出对话框绘制BMP图片的灰度直方图&#xff0c;再获取平均灰度、中指灰度和标准差等值。文章比较详细基础&am…

一张图看懂华为2018年年报

来源&#xff1a;华为摘要&#xff1a;3 月 29 日&#xff0c;华为发布了 2018 年年度报告。报告显示&#xff0c;华为在 2018 的营收为 7212.02 亿元&#xff08;约合 1051.91亿美元&#xff09;&#xff0c;同比增长 19.5%&#xff0c;净利润 593 亿元人民币&#xff0c;同比…

排序算法Java实现(基数排序)

算法思想&#xff1a;依次按个位、十位...来排序&#xff0c;每一个pos都有分配过程和收集过程&#xff0c;array[i][0]记录第i行数据的个数。 package sorting;/*** 基数排序* 平均O(d(nr)),最好O(d(nr)),最坏O(d(nr));空间复杂度O(nr);稳定;较复杂* d为位数,r为分配后链表的个…

MFC图像点运算之灰度线性变化、灰度非线性变化、阈值化和均衡化处理

本文主要讲述基于VC6.0 MFC图像处理的应用知识&#xff0c;主要结合自己大三所学课程《数字图像处理》及课件进行讲解&#xff0c;主要通过MFC单文档视图实现显示BMP图片点运算处理&#xff0c;包括图像灰度线性变换、灰度非线性变换、图像阈值化处理、图像均衡化处理等知识&am…

马化腾:5G和AI双核驱动产业互联网进入“快车道”

来源&#xff1a;腾讯科技腾讯科技讯 3月30至31日&#xff0c;2019中国&#xff08;深圳&#xff09;IT领袖峰会以“IT新未来&#xff1a;5G与人工智能”为主题&#xff0c;汇聚了众多科技领袖和各界精英&#xff0c;聚焦未来通信、工业互联网、数字城市、金融科技等热门话题。…

MFC空间几何变换之图像平移、镜像、旋转、缩放

本文主要讲述基于VC6.0 MFC图像处理的应用知识&#xff0c;主要结合自己大三所学课程《数字图像处理》及课件进行讲解&#xff0c;主要通过MFC单文档视图实现显示BMP图片空间几何变换&#xff0c;包括图像平移、图形旋转、图像反转倒置镜像和图像缩放的知识。同时文章比较详细基…

超级干货:一文看懂5G产业链及投资机会

来源&#xff1a;新材料在线摘要&#xff1a;本文将讲述5G行业概况、产业链结构、上游关键原材料、本行业竞争格局及材料重点应用领域。报告合集涵盖5G关键材料、5G天线、氮化镓半导体、导热材料、电磁屏蔽材料、高频覆铜板基材、微波介质陶瓷、先进封装、手机外壳等九大市场研…

MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化

本文主要讲述基于VC6.0 MFC图像处理的应用知识&#xff0c;主要结合自己大三所学课程《数字图像处理》及课件进行讲解&#xff0c;主要通过MFC单文档视图实现显示BMP图像增强处理&#xff0c;包括图像普通平滑、高斯平滑、不同算子的图像锐化知识。希望该篇文章对你有所帮助&am…

南京大学教授施斌及其团队—— 光纤变“神经” 大地能感知

来源&#xff1a;人民日报你能相信吗&#xff1f;一根头发丝粗细的光纤&#xff0c;根据不同地质环境和多场监测要求&#xff0c;穿上各种“定制”的外衣&#xff0c;就能变身敏感强健的“大地感知神经”&#xff0c;使得大地一有灾害异动&#xff0c;远在千里之外的监测系统就…

MFC详解显示BMP格式图片

本文主要是讲述《数字图像处理》系列栏目中的第一篇文章.主要详细介绍了BMP图片格式,同时使用C和MFC显示BMP格式,主要结合自己的《数字图像处理》课程和以前的项目叙述讲解. 一.BMP图片格式定义 BMP文件格式是Windows操作系统推荐和支持的标准图像文件格式,是一种将内存或显示…

hdu 1257最少拦截系统(贪心)

最少拦截系统 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 23724 Accepted Submission(s): 9303题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1257 Problem Description某国为了防御敌国…

0pencv——图像腐蚀

1、代码如下&#xff1a; #include "stdafx.h" #include <opencv2/opencv.hpp>using namespace cv;int main() {Mat srcImage imread("小狗1.jpg");imshow("显示图像", srcImage);Mat element getStructuringElement(MORPH_RECT, Size(…

有关启动图片Launch的设置

使用Images.xcassets设置启动图片需要注意下面几点:1.将工程中的Launch Screen.xib 文件删除,info.plist中删除 Launch screen interface...选项.2.在target中App Icon and Launch Images中设置 Launch Images Source 选中LaunchImage.3.在Images.xcassets中新建New Launch Ima…

腾讯研究院发布:《人工智能+制造产业发展研究》报告

来源&#xff1a;腾讯研究院摘要&#xff1a;工业革命以后的“自动化”概念追求的是机器自动生产&#xff0c;本质是“机器替人”&#xff0c;强调在完全不需要人的情况下进行不间断的大规模机器生产&#xff1b;而“智能化”追求的是机器的柔性生产&#xff0c;本质是“人机协…