消息映射宏

  • 有三个主要的宏

    • 类内声明 DECLARE_MESSAGE_MAP 表示使用消息映射

    • 在CPP文件中使用 BEGIN_MESSAGE_MAP 和 END_MESSAGE_MAP 包含对应的消息映射

  • 添加消息处理函数的几个步骤

    • 在消息映射宏之间添加对应的消息映射

    • 在类内对消息处理函数进行声明

    • 定义消息处理函数并添加功能(调用父类的处理函数)

  • 如何通过类向导添加一个消息处理函数

    1. 添加控件的消息响应函数

    2. 添加当前窗口的消息响应函数

    3. 通过拖控件可以设置控件的消息处理函数(右键->添加事件处理函数)

    4. 直接双击控件会生成一个响应单击的消息处理函数

数据绑定和交换

  • 务必不要在构造函数中使用 UpdataData(),和窗口相关的任何操作都应该写在OnInitDialog消息响应之后

  • 数据绑定可以通过 UpdateData 可以获取和设置控件信息

    • UpdateData 的参数为 TRUE 表示从 控件 -》 变量

    • UpdateData 的参数为 FALSE 表示从 变量 -》 控件

  • 控件最多可以绑定两个变量,分别是控件类型和数据类型

    • 控件:功能更加强大,使用稍显复杂

    • 数据:功能有限,使用简单

  • 绑定控件的步骤

    • 在对话框编辑器中右击选定想要绑定数据的控件

    • 通过弹出的对话框设置信息

    • 当控件绑定了一个变量,那么 DoDataExchange 就会多出一行对应的代码

       

MFC_1.2 消息映射宏 数据绑定和交换的更多相关文章

  1. 实现 Win32 程序的消息映射宏(类似 MFC )

    对于消息映射宏,不用多说了,用过 MFC 的人都很清楚.但目前有不少程序由于各种原因并没有使用 MFC,所以本帖讨论一下如何在 Win32 程序中实现类似MFC的消息映射宏.其实 Windows 的头 ...

  2. MFC消息映射机制以及画线功能实现

    ---此仅供用于学习交流,切勿用于商业用途,转载请注明http://www.cnblogs.com/mxbs/p/6213404.html. 利用VS2010创建一个单文档标准MFC工程,工程名为Dr ...

  3. 消息映射(C++)(转)

    摘要:控件通知消息有很多种,但是有一种是很常用,但是又不是很容易掌握的,那就是WM_NOTIFY,我试着对此做一下比较全面的论述,有不对的地方,还希望各路大虾批评指正.     控件通知消息     ...

  4. MFC六大核心机制之五、六:消息映射和命令传递

    作为C++程序员,我们总是希望自己程序的所有代码都是自己写出来的,如果使用了其他的一些库,也总是千方百计想弄清楚其中的类和函数的原理,否则就会感觉不踏实.所以,我们对于在进行MFC视窗程序设计时经常要 ...

  5. MFC学习(二):消息映射

    1. 消息映射表的组成 宏DECLARE_MESSAGE_MAP,用在类的声明中,用来声明消息映射表. 宏BEGIN_MESSAGE_MAP,在使用类声明外,用来定义链接节点和填写链表节点中的数据,其 ...

  6. 图解MFC基本框架(深入消息映射机制)

    首先,先看整体的消息流向图: 上图解释: 起点是消息循环,在winmain函数中(mfc中winmain函数是隐含的调用的,在app全局对象构造完后紧接着调用winmain函数),while循环中不断 ...

  7. 【转】MFC消息映射详解(整理转载)

    消息:主要指由用户操作而向应用程序发出的信息,也包括操作系统内部产生的消息.例如,单击鼠标左按钮,windows将产WM_LBUTTONDOWN消息,而释放鼠标左按钮将产生WM_LBUTTONUP消息 ...

  8. (二)一个MFC程序,消息映射,纯代码

    1.应用程序类 CWinApp https://docs.microsoft.com/zh-cn/cpp/mfc/reference/cwinapp-class?f1url=https%3A%2F%2 ...

  9. MFC编程入门之五(MFC消息映射机制概述)

    在MFC软件开发中,界面操作或者线程之间通信都会经常用到消息,通过对消息的处理实现相应的操作.比较典型的过程是,用户操作窗口,然后有消息产生,送给窗口的消息处理函数处理,对用户的操作做出响应. 一.什 ...

随机推荐

  1. Node后台使用mysql并开启事务

    如题:node后台使用mysql数据库,并使用事务来管理数据库操作. 这里主要讲一个事务的封装并写了一个INSERT 插入操作. code: 基础code: db.config.js const my ...

  2. Android 智能问答机器人的实现

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38498353 ,本文出自:[张鸿洋的博客] 今天看到一个ios写的图灵机器人,直 ...

  3. AWK学习总结(三) Records and Fields

    AWK 记录和域 The NR Variable % awk '{print NR, $0}' employees 1 Tom Jones 4424 5/12/66 543354 2 Mary Ada ...

  4. Docker Image发布

    Docker Image发布 方法1:导出镜像 #docker save -o centos-httpd-docker-image.tar centos:httpd 使用加载本地镜像 docker l ...

  5. BZOJ_1115_[POI2009]石子游戏Kam_博弈论

    BZOJ_1115_[POI2009]石子游戏Kam_博弈论 Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数.两人轮流操作每次操作可以从一堆石子中移走任意多石子 ...

  6. 查看mysql数据库的所有配置信息和服务器的各种状态

    查看MySQL服务器配置信息 mysql> show variables; 2, 查看MySQL服务器运行的各种状态值 mysql> show global status;

  7. 搜索goog

    http://www.tech365.net/share/24.html 64.233.160.132|64.233.168.17|64.233.168.167|64.233.160.98|64.23 ...

  8. Newtonsoft.Json序列化日期时间去T的几种方式。

    原文地址:MVC web api 返回JSON的几种方式,Newtonsoft.Json序列化日期时间去T的几种方式. http://www.cnblogs.com/wuball/p/4231343. ...

  9. PKUACM 2018 D chocolate【并查集+克鲁斯卡尔】

    传送:http://poj.openjudge.cn/practice/C18D/ 依然是课件截图 #include<iostream> #include<cstdio> #i ...

  10. poj 3613 Cow Relays【矩阵快速幂+Floyd】

    !:自环也算一条路径 矩阵快速幂,把矩阵乘法的部分替换成Floyd(只用一个点扩张),这样每"乘"一次,就是经过增加一条边的最短路,用矩阵快速幂优化,然后因为边数是100级别的,所 ...