“afx_msg”有什么作用?- MFC

Ran*_*ana 7 c++ mfc

免责声明:我是 MFC 的新手并且有 C++ 的基本知识

我的问题:

我遇到了以下由 Visual Studio 自动生成的代码:

afx_msg void OnBnClickedOk();

是做afx_msg什么的,还有其他类似的吗?


据我所知,只有少数访问说明符,例如 : public, private, protected。还有virtual

我在这里找到了答案但我仍然不清楚。

dxi*_*xiv 6

afx_msg是一个空宏 #define'd in afxwin.h

// Type modifier for message handlers
#ifndef afx_msg
#define afx_msg         // intentional placeholder
#endif
Run Code Online (Sandbox Code Playgroud)

afx_msg无论是否使用 ,代码都将编译和工作,但按照惯例,它被用作指示该函数是消息处理程序的指示符,如果使用类向导,则需要使用TN006:消息映射

ClassWizard 要求您在消息映射处理程序声明中使用 afx_msg 关键字。