▲通过类向导给类添加一个消息响应函数时(如在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中消息响应的实现方式,包括在CMainFrame类中添加WM_CLOSE消息响应的三个关键步骤:1. 头文件声明消息响应函数原型;2. 源文件中用ON_WM_CLOSE宏关联消息;3. 定义消息处理函数。同时,解释了MFC通过OnWndMsg()处理消息的过程,以及如何为手动添加的控件添加消息响应。文章还阐述了WM_COMMAND消息的处理路径,从框架类到视类再到文档类,最后到应用类。
最低0.47元/天 解锁文章
1340

被折叠的 条评论
为什么被折叠?



