| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> MFC消息映射及自定义消息介绍 -> 正文阅读 |
|
[C++知识库]MFC消息映射及自定义消息介绍 |
文章目录
MFC消息类型在MFC中消息分为系统定义消息和程序定义消息。 三个重要的宏:DECLARE_MASSAGE_MAP()声明该类定义了一个消息映射。 程序中的每个 CCmdTarget 派生类都必须提供一个消息映射来处理消息。 BEGIN_MESSAGE_MAP(theClass, baseClass )theClass:消息映射类的名称 END_MESSAGE_MAP()在类定义成员函数的实现 (.cpp) 文件中,使用 BEGIN_MESSAGE_MAP 宏启动消息映射,然后为每个消息处理程序函数添加宏条目,并使用 END_MESSAGE_MAP 宏完成消息映射。 系统定义消息系统定义消息有三种类型,分为标准消息(窗口消息),命令消息,通告消息(控件通知消息)。 标准消息(WM_xxx):除WM_COMMAND之外,所有以WM_开头的消息。例如ON_WM_SYSCOMMAND(),ON_WM_PAINT()。从CWnd派生的类,都可以接收到这类消息。
在vs2005的类视图中,找到窗体类,右键点击,选择属性。在属性页中点击消息。即可看到窗口消息的所有类型,点击右侧单元格即可添加相应的消息处理函数 命令消息(WM_COMMAND):来自菜单、加速键或工具栏按钮的消息。这类消息都以WM_COMMAND呈现。在MFC中,通过菜单项的标识(ID)来区分不同的命令消息;在SDK中,通过消息的wParam参数识别。从CCmdTarget派生的类,都可以接收到这类消息。 WM_COMMAND消息中有两个参 数,wparam、lparam,定义如下: WM_COMMAND消息 消息对应的宏为
在vs资源视图中打开菜单,对菜单项右击,添加事件处理程序,添加相应的消息处理函数 通告消息(WM_NOTIFY):随着控件的种类越来越多,越来越复杂(如列表控件、树控件等),仅仅将wParam,lParam将视为一个32位无符号整数,已经装不下太多信息了。为了给父窗口发送更多的信息,微软定义了一个新的WM_NOTIFY消息来扩展WM_COMMAND消息。 通告消息的宏一般为在通知码前面加上 ON_
在vs的资源视图中打开窗体,对控件右击,添加事件处理程序,根据向导添加控件的响应函数 MFC消息映射的三处实现MFC实现消息映射的三处信息,函数原型,函数实现,用来关联消息和消息响应的宏。 为菜单增加点事件为例,命令消息的三处实现:
在cpp文件中实现函数
cpp文件中定义宏
只要定义了上述与消息有关的三处信息后,即可实现消息的响应处理 程序定义消息MFC允许用户自定义消息,实现自定义消息分为4步
2.在类声明中写消息处理函数的声明
3.在BEGIN_MESSAGE_MAP()与END_MESSAGE_MAP()之间添加消息映射宏
4.实现消息处理函数
自定义消息映射就完成了。
参考文章WM_COMMAND与消息的传递 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 4:43:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |