免责声明:我是MFC的新手并且具备c ++的基本知识
我的问题:
我遇到了以下由Visual studio自动生成的代码:
afx_msg void OnBnClickedOk();
afx_msg
做了什么,还有那样的吗?
据我所知,只有少数访问说明符如:public
,private
,protected
。还有virtual
。
我找到了答案here,但我仍然不清楚。
答案 0 :(得分:3)
afx_msg
是afxwin.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
它可能或者可能是帮助向导识别代码。
它没有做任何其他事情。