刚学MFC这是什么意思,不太明白?

BEGIN_MESSAGE_MAP(CMainFrame,CFramWnd)//{{AFX_MSG_MAP(CMainFrame)ON_WM_CREATE()//}}AF... BEGIN_MESSAGE_MAP(CMainFrame,CFramWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP

每行分别是什么意思,真心希望各位大哥姐给俺指点一下,越详细越好.拜托了
展开
 我来答
该问答中所提及的号码未经验证,请注意甄别。
domain_pro
2010-09-01 · TA获得超过279个赞
知道小有建树答主
回答量:359
采纳率:0%
帮助的人:271万
展开全部
BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间的就是传说中的消息映射。
ON_WM_CREATE()表示映射关系,参数有消息和处理该消息的响应函数。

这么说吧,你以后会自定义很多消息,这些消息的处理就是通过这个部分来实现的,使用的大致流程如下(仿枯我不用windows半年了,具体函数的拼写可能有误,但思路没问题,你见谅阿)

1.在类里声明消息响应函数,以afx_msg 开头,
比如afx_msg void OnMyMessage();
2.定义消息,#define WM_MY_MESSAGE WM_USER+100 //这时你的消息是WM_MY_MESSAGE
3.在BEGIN--END之间添加映射:
ON_MESSAGE(WM_MY_MESSAGE,OnMyMessage)//第一个参数都是消息,第二个都是响应函数,要注意OnMyMessage没括号

以上3步完成后映射关系就有了,以后只要发生消息发送,OnMyMessage函数就被触发了。

WM_USER是盖茨提供的用户消息,就是为了方便用户定义自己的消息用的,一般来讲不会用+100以下的消息,因为很多都是被标准化了的,就好比1024以下的端口一样。

看这段代码的时候BEGIN和END这世哗两行不用管,要关心的是这之间的东西,消息映射必须写在这之间才有用。

BEGIN--END这个东西很方便,你以后就知道了!想多了解可以联系我备返洞,137767002
zjjzff11
2010-09-01 · TA获得超过2226个赞
知道小有建树答主
回答量:358
采纳率:0%
帮助的人:231万
展开全部
刚学mfc的话,不建议去研究这个,浪费时间,在学段时间再回来看这个吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AE869527AE
2010-09-01
知道答主
回答量:23
采纳率:0%
帮助的人:13.6万
展开全部
BEGIN_MESSAGE_MAP(CMainFrame,CFramWnd) //开始消息映射
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE() //映射的处理稿大旁消息
/仿帆/}}AFX_MSG_MAP
END_MESSAGE_MAP //结束消息映键橡射
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tongfans
2010-09-01 · TA获得超过1127个赞
知道小有建树答主
回答量:683
采纳率:0%
帮助的人:728万
展开全部
消没兄息映射,ON_WM_CREATE() 对应的成员稿散函数是枯敬袭
afx_msg int OnCreate(LPCREATESTRUCT);
当windows窗口被创建后执行的函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
屋哥
2010-09-01 · TA获得超过1057个赞
知道小有建树答主
回答量:1282
采纳率:0%
帮助的人:547万
展开全部
第一,五行:这是把WINDOWS发给窗口的消息,传递到你的窗口类来处理皮桐(CMainFrame),有的消息你并没有提供接受并处理的函数,因此会传到父类(CFramWnd)中处理,你要处理的有哪些消息,就在这里作念握兄出说明了.

第三行:具体说明哪个消息用哪个函数来来处理,(此仔袭处没有说明函数名,是默认为OnCreate

第二,四行是注释
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式