afx_msg void OnAppAbout();  中 “afx_msg ” 有什么用?

解决方案 »

  1.   

    afx_msg是宏定义,告诉编译器这个函数是消息处理函数
      

  2.   

    不用也行,记得vc.net已经不用这个标志啦。
      

  3.   

    在 CWnd 类中预定义了标准 Windows 消息 (WM_) 的默认处理程序。类库基于消息名命名这些处理程序。例如,WM_PAINT 消息的处理程序在 CWnd 中被声明为:afx_msg void OnPaint();afx_msg 关键字通过使这些处理程序区别于其他 CWnd 成员函数来表明 C++ virtual 关键字的作用。但是请注意,这些函数实际上并不是虚拟的,而是通过消息映射实现的。消息映射只取决于标准预处理器宏,而不取决于任何 C++ 语言的扩展。afx_msg 关键字经预处理后解析为空白。