'afx_msg'做什么? - MFC

时间:2016-02-10 16:07:29

标签: c++ mfc

免责声明:我是MFC的新手并且具备c ++的基本知识

我的问题:

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

afx_msg void OnBnClickedOk();

afx_msg做了什么,还有那样的吗?

据我所知,只有少数访问说明符如:publicprivateprotected。还有virtual

我找到了答案here,但我仍然不清楚。

2 个答案:

答案 0 :(得分:3)

afx_msgafxwin.h中的一个空宏#define'd:

// Type modifier for message handlers
#ifndef afx_msg
#define afx_msg         // intentional placeholder
#endif

代码将使用或不使用afx_msg进行编译和工作,但是它被约定用作指示函数是消息处理程序,并且如果使用类向导,则需要{{3 }}:

  

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

答案 1 :(得分:2)

afxwin.h中的代码只是:

// Type modifier for message handlers
#ifndef afx_msg
#define afx_msg         // intentional placeholder
#endif

它可能或者可能是帮助向导识别代码。

它没有做任何其他事情。