MFC消息响应

本文介绍了MFC中消息响应的实现方式,包括在CMainFrame类中添加WM_CLOSE消息响应的三个关键步骤:1. 头文件声明消息响应函数原型;2. 源文件中用ON_WM_CLOSE宏关联消息;3. 定义消息处理函数。同时,解释了MFC通过OnWndMsg()处理消息的过程,以及如何为手动添加的控件添加消息响应。文章还阐述了WM_COMMAND消息的处理路径,从框架类到视类再到文档类,最后到应用类。
摘要由CSDN通过智能技术生成

▲通过类向导给类添加一个消息响应函数时(如在CMainFrame类中添加WM_CLOSE消息响应),会增加以下3代码段:

1.头文件CMainFrame.h类的定义中
//{ {AFX_MSG(CMainFrame)      //注释宏
afx_msg void OnClose();          //添加的消息响应函数原型声明
//}}AFX_MSG                            //注释宏

afx_msg也是一个宏,表示后面的函数原型为消息响应函数原型。 

2.源文件MainFrame.cpp中

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{ {AFX_MSG_MAP(CMainFrame)
ON_WM_CLOSE()                              //添加的宏
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

ON_WM_CLOSE()宏将消息WM_CLOSE与消息响应函数OnClose()关联起来。

3.源文件MainFrame.cpp中

void CMainFrame::OnClose()
{
 // 响应消息时的处理代码写在此处
CFrameWnd::OnClose();
}

 

▲MFC的消息处理是靠调用OnWndMsg()来处理的,其过程是先检查有没有消息响应函数原型声明(1中所述),再检查有无消息响应函数关联宏(2中所述),若检查通过则用3中所

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值