#define afx_msg
其实他现在没有什么用处,也许将来的mfc会用到他

解决方案 »

  1.   

    这是一个宏定义,
    // Type modifier for message handlers
    #ifndef afx_msg
    #define afx_msg         // intentional placeholder
    #endif是MFC 用来扩展用的,现在根本没有用到, 
    你不用afx_msg 也没有关系,但有可能Class Wizard 有问题,
    找不到指定的消息
    但对于程序的编译运行是没有任何关系的。
      

  2.   

    到底是virtual还是无其他意义, 统一一个说法吧~~~
      

  3.   

    我也看过了
    #ifndef afx_msg
    #define afx_msg        // intentional placeholder
    #endif
    的, 但是想不通它的用意, 难道只是为了加以标志, 相当于注释, 说明这个函数是个消息函数?
      

  4.   

    呵呵,你自己不能看一下MSDN的定义吗??
    下面的是MFC 源码中的
    #ifndef afx_msg
    #define afx_msg        // intentional placeholder
    #endif定义在
    C:\Program Files\Microsoft Visual Studio\VC98\MFC\Include\AFXWIN.H
    128行
      

  5.   

    intentional placeholder
       = 故意的占位符这是为了以后的扩展用的
      

  6.   

    vc技术内幕第2章
    不是virtual而是宏,用它来把特定的消息映射到派生类的成员函数 
      

  7.   

    To ysdesigned: 但是你看它的宏定义啊, 
    #ifndef afx_msg
    #define afx_msg        // intentional placeholder
    #endif什么都没有, 那VC的编译器是怎么把消息映射到派生类的成员函数呢? (看到了你的回答, 150就不冤, 这正是我想知的)
      

  8.   

    To ysdesigned: 我试着把afx_msg注销掉了, 对程序的运行毫无影响~~~~~~~正如alphagx所说的, Cltr+W会报错~~进不去相关的类`~
      

  9.   

    把消息映射到类的成员函数和beginmessagemap endmessagemap 等等的几个宏有关,可以看看《深入浅出mfc》
      

  10.   

    To liu_feng_fly: 那和afx_msg没关系吧~~~
      

  11.   

    afx_msg目前没有用处,是MFC为以后预留的
      

  12.   

    但是ClassWizard会用这个标志判断添加的消息映射函数
    .clw文件需要依赖于它而修改某些部分
      

  13.   

    “深入浅出”中说afx_msg为MICROSOFT RESERVED(同意ydogg(灰毛兔频频)的说法),现在没有任何意义,但不要忽略,以便在以后有用!