MFC - 控件的消息和控件的事件(命令)有什么区别?

news/2024/11/29 3:56:13/

MFC的控件都能添加事件处理程序(类向导称事件为命令

控件的消息和控件的**事件(命令)**有什么区别?

  1. 事件可能由多个消息组成,事件是消息的封装。控件的事件也是通过消息机制来处理的,所以这两者在
    本质上是一样的。函数本身没什么太大区别只不过函数的调用过程有区别。

  2. 事件是由用户给出的,即用户触发一个事件传给操作系统由操作系统将事件解释成一条消息。事件可以产生消息
    ,操作系统也可以产生消息,消息有可能会产生其他的消息但是消息不能产生事件,事件只能由用户触发
    如:消息A 是某个控件触发了个事件B产生的,比如说在一个列表上鼠标点击一下,触发了一个点击的事件(命令),
    那么他就会往消息队列里发送一个点击消息。这个就是鼠标单击响应的消息BN_CLICKED。

  3. 如果已经为控件添加了命令消息响应函数(消息为BN_CLICKED),则通过双击控件添加处理函数不再添加
    新的处理函数,也不能右键添加新的事件处理程序函数(因为已有),这揭示了MFC中消息和事件的统一性。

  4. 通过双击控件的方式和通过右键添加事件处理程序产生的函数函数名相同,但通过类向导命令模块添加
    的命令消息响应函数的函数名
    与前面两种方式添加的处理函数的函数名不一样(当然,使用前两种方式任一
    一种方式添加处理函数后,则类向导方式不能添加)

总结:命令与消息的区别为 控件的命令(事件)是用户操作触发的消息


http://www.ppmy.cn/news/40166.html

相关文章

【技术分享】华为防火墙多出口接入到Internet

组网需求 如图1所示,FW作为安全网关部署在网络出口,企业分别从ISP1和ISP2租用一条链路。 企业希望访问Server 1的报文从ISP1链路转发,访问Server 2的报文从ISP2链路转发。 当其中一条链路故障时,后续流量可以通过另一条链路转发…

maven 打包实践

Maven的打包操作 对于企业级项目,无论是进行本地测试,还是测试环境测试以及最 终的项目上线,都会涉及项目的打包操作。对于每个环境下的项目 打包,对应的项目所需要的配置资源都会有所区别,实现打包的方 式有很多种&am…

数据结构与算法01 稀疏数组

稀疏数组问题 当一个二维数组中大部分数据都是0,对这个数组直接进行存储会很浪费空间,因此利用稀疏数组进行压缩,稀疏数组第一行的第一个元素是原二维数组行数。,第一行的第二个元素是原二维数组的列数,如图为11行11列…

Windows中使用7-Zip压缩或解压缩时报错解决:客户端没有所需的特权

1.报错 2.解决办法 点击开始,查看7-Zip 软件文件夹或者直接找到7-Zip 软件的安装路径,电击以管理员身份运行 找到需要压缩或者解压缩的文件的位置,完成!

CSDN 编程竞赛四十二期题解

竞赛总览 CSDN 编程竞赛四十二期:比赛详情 (csdn.net) 竞赛题解 题目1、鬼画符门之宗门大比 给定整数序列A,求在整数序列A中连续权值最大的子序列的权值。 经典的子序列问题,和第二十一期考过的连续子数组的最大和一题解法相似。 维护一…

相对开音节OD-(Python)

相对开音节 题目描述 相对开音节构成的结构为: 辅音元音(aeiou)辅音(r除外) 常见的单词有bike cake 给定一个字符串,以空格为分隔符 反转每个单词的字母 若单词中包含如数字等其他非字母时不进行反转 反转后计算其中含有相对开音节结构的子串个数 (连续子串中部分…

ChatGPT的平替来了?一文总结 ChatGPT 的开源平替,你值得拥有

文章目录【AIGC精选】总结 ChatGPT 的开源平替,你值得拥有1.斯坦福发布 Alpaca 7B,性能匹敌 GPT-3.52.弥补斯坦福 Alpaca 中文短板,中文大模型 BELLE 开源3.国产AI大模型 ChatGLM-6B 开启内测4.中文 Alpaca 模型 Luotuo 开源5. ChatGPT 最强竞…

【周末闲谈】AI的旅途

个人主页:【😊个人主页】 系列专栏:【❤️周末闲谈】 系列目录 ✨第一周 二进制VS三进制 ✨第二周 文心一言,模仿还是超越? ✨第二周 畅想AR 文章目录系列目录前言AIAI的开端第一个AI程序AI的寒冬关于AI的思考末尾前言…