请问在MFC里经常有"//{{  //}}"的符号代如:
 //{{AFX_VIRTUAL(CMy2View)
public:
virtual void OnDraw(CDC* pDC);  
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
//}}AFX_VIRTUAL
它的作用是什么?

解决方案 »

  1.   

    To 楼上,这并不是简单的注释。具体怎么的我以前看到过资料,不过记不清楚了,不过可以肯定地是这两个 宏 对括起来的时MFC的消息控制虚函数,用来处理消息映射的。
      

  2.   

    VC6的类向导需要的注释。不信删除那些注释,再按“Ctrl+W”,看看类向导出现什么事情了。^_^
      

  3.   

    我是想对steedhorse说的,编译器会管它的,可以手动修伽他们括起来的内容,但是不要乱改这两个语句。
      

  4.   

    Q:是不是注释
    A:
    对编译器而言,它是注释;
    对VC这个IDE而言,它不是注释。而是创建ClassWizard的消息映射所需的。
      

  5.   

    WINCORE.CPP文件中定义的:
    /////////////////////////////////////////////////////////////////////////////
    // Message table implementationBEGIN_MESSAGE_MAP(CWnd, CCmdTarget)
    ON_MESSAGE(WM_CTLCOLORSTATIC, OnNTCtlColor)
    ON_MESSAGE(WM_CTLCOLOREDIT, OnNTCtlColor)
    ON_MESSAGE(WM_CTLCOLORBTN, OnNTCtlColor)
    ON_MESSAGE(WM_CTLCOLORLISTBOX, OnNTCtlColor)
    ON_MESSAGE(WM_CTLCOLORDLG, OnNTCtlColor)
    ON_MESSAGE(WM_CTLCOLORMSGBOX, OnNTCtlColor)
    ON_MESSAGE(WM_CTLCOLORSCROLLBAR, OnNTCtlColor)
    //{{AFX_MSG_MAP(CWnd)
    ON_WM_DRAWITEM()
    ON_WM_MEASUREITEM()
    ON_WM_CTLCOLOR()
    ON_WM_COMPAREITEM()
    ON_WM_ENTERIDLE()
    ON_WM_HSCROLL()
    ON_WM_VSCROLL()
    ON_WM_DELETEITEM()
    ON_WM_CHARTOITEM()
    ON_WM_VKEYTOITEM()
    ON_WM_NCDESTROY()
    ON_WM_PARENTNOTIFY()
    ON_WM_SYSCOLORCHANGE()
    ON_WM_DEVMODECHANGE()
    ON_WM_HELPINFO()
    ON_WM_SETTINGCHANGE()
    //}}AFX_MSG_MAP
    #ifndef _AFX_NO_OCC_SUPPORT
    ON_WM_DESTROY()
    #endif
    ON_MESSAGE(WM_ACTIVATETOPLEVEL, OnActivateTopLevel)
    ON_MESSAGE(WM_DISPLAYCHANGE, OnDisplayChange)
    ON_REGISTERED_MESSAGE(CWnd::m_nMsgDragList, OnDragList)
    END_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////
    // Routines for fast search of message maps
      

  6.   

    To:pomelowu(羽战士)
    你确定吗?
    偶还是觉得编译器不会管它的,这只是IDE所作的标记,对某些向导自动生成代码有用。
    而对编译器来讲,它和一般的注释没有什么区别。
    可能你说的编译器跟偶说的不是一个概念吧,偶这里特指VC的cl.exe,不是msdev.exe。
      

  7.   

    To steedhorse(晨星):
    我只是有这样个印象,不能确认。不过至少它们扩起来的是MFC的消息控制,这个没问题:)
      

  8.   

    候先生在他的<<深入浅出MFC>>中说,那是给MFC看的!叫我们不要理  ^_^
      

  9.   

    同意smallcrocodile(大鳄鱼) 说法即然是注释,删了就不会出错,但是你删了试试,一定出错。
    这叫注释宏。有用的。不是注释
      

  10.   

    我刚学MFC,不知道大家学了多久。为什么在代码里经常出现的语句大家都没有把他搞懂.
      

  11.   

    这么有意义的问题我们应该大力弘扬,多提多想,多多讨论,相互促进,共同进步。up up up ! ! !
      

  12.   

    看AFX_VIRTUAL应该是虚函数,有用的
      

  13.   

    "//"后面是注释,这毫无疑问,
    //}} 和  //{{ 都不会被编译的,
    谈们的唯一作用,就是告诉IDE,被 //{{和 //}}包围的内容是特殊的MFC影射,需要类向导解析。
    这只是IDE为了智能化而设置的标志。如果删除那些注释,编译、运行不会有任何问题,但是类向导中却一无所有