鱼C论坛

 找回密码
 立即注册
查看: 4784|回复: 1

[技术交流] 【MFC入门文字教程】4-MFC消息循环

[复制链接]
发表于 2016-11-11 20:13:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
学过 Sdk 的鱼油们都知道,SDK 有一个消息循环
那么,MFC 有木有消息循环呢?
看完这篇文章,你就知道了~
好了,废话不多说,按照0-愉快的开始的创建方法,创建一个MFC工程,基于对话框的。
打开[你的工程名]Dlg.cpp
找到 DoDataExchange函数,下面一点,可以看到一条语句(如图):
2016-11-11.png
嗯,是一个BEGIN_MESSAGE_MAP宏。
再往下几行,可以看到一些 ON_XXXX (XXXX为消息名)宏
2016-11-11 (1).png
那么,这个ON_XXXX宏是啥,有毛用?
ON_XXXX 的 XXXX 为消息名,表示开启接收 XXXX 消息
比如,我在 BEGIN_MESSAGE_MAP 和 END_MESSAGE_MAP 之间插入一句
ON_WM_TIMER()
表示开启接收WM_TIMER消息。

但是,有些鱼油会问了,接收消息是一回事,处理消息又是另外一回事,那么,怎么处理消息呢?

别急,让我们看看代码。
往下面找找,可以找到一些 OnXXXX 成员函数。
如图。
2016-11-11 (3).png
你可能会好奇,这个 OnInitDialog 成员函数有毛用?
好吧,答案可能会让你大吃一惊的。。。。
OnInitDialog其实就是 WM_INITDIALOG 的处理函数(WM_INITDIALOG 相当于 WM_CREATE)
怎么样,吃惊吧~
同理, OnQueryDragIcon 成员函数就是 WM_QUERYDRAGICON 消息的处理函数
如图。
2016-11-11 (4).png
找到规律了吧

对了,别高兴太早,还没完呢。声明部分藏了起来,藏在……MFC[你的工程名]Dlg.h里面
看到了吧,手动添加缺这个是不行滴~
2016-11-11 (5).png

你会不会觉得……手动添加消息响应函数是不是很麻烦呢?
有一种十分方便的方法,点几下鼠标即可搞定
是不是很期待呢~
这种方法将在下一集揭晓!

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-1 01:59:02 | 显示全部楼层
支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 22:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表