我是一个初学VC的莱鸟,以下是一个CMFCView类的声明,看不太懂,麻烦那位高手逐句注释一下!
谢谢先!!// MFCView.h : interface of the CMFCView class
//
/////////////////////////////////////////////////////////////////////////////#if !defined(AFX_MFCVIEW_H__AAD7AB0B_1556_4D21_8473_FA7BBF061498__INCLUDED_)
#define AFX_MFCVIEW_H__AAD7AB0B_1556_4D21_8473_FA7BBF061498__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CMFCView : public CView
{
protected: // create from serialization only
CMFCView();
DECLARE_DYNCREATE(CMFCView)// Attributes
public:
CMFCDoc* GetDocument();// Operations
public:// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMFCView)
public:
virtual void OnDraw(CDC* pDC);  // overridden to draw this view
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// Implementation
public:
virtual ~CMFCView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endifprotected:// Generated message map functions
protected:
//{{AFX_MSG(CMFCView)
// NOTE - the ClassWizard will add and remove member functions here.
//    DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};#ifndef _DEBUG  // debug version in MFCView.cpp
inline CMFCDoc* CMFCView::GetDocument()
   { return (CMFCDoc*)m_pDocument; }
#endif///////////////////////////////////////////////////////////////////////////////{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif // !defined(AFX_MFCVIEW_H__AAD7AB0B_1556_4D21_8473_FA7BBF061498__INCLUDED_)

解决方案 »

  1.   

    那个地方看不懂
    class CMFCView : public CView
    {
    protected: // create from serialization only
    CMFCView();
    DECLARE_DYNCREATE(CMFCView) //动态创建// Attributes
    public:
    CMFCDoc* GetDocument();// Operations
    public:// Overrides 虚函数
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CMFCView)
    public:
    virtual void OnDraw(CDC* pDC);  // overridden to draw this view
    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// Implementation
    public:
    virtual ~CMFCView();
    #ifdef _DEBUG//如果定义了_DEBUG,就是调试状态下
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
    #endifprotected:// Generated message map functions 消息映射函数
    protected:
    //{{AFX_MSG(CMFCView)
    // NOTE - the ClassWizard will add and remove member functions here.
    //    DO NOT EDIT what you see in these blocks of generated code !
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
    };#ifndef _DEBUG  // debug version in MFCView.cpp
    inline CMFCDoc* CMFCView::GetDocument()
       { return (CMFCDoc*)m_pDocument; }
    #endif
      

  2.   

    To: hotness28(小左)     //{{AFX_VIRTUAL(CMFCView)
        //}}AFX_VIRTUAL
    上面这两句什么意思,虑函数一定要加到它们之间吗    //{{AFX_MSG(CMFCView)
        // NOTE - the ClassWizard will add and remove member functions here.
        //    DO NOT EDIT what you see in these blocks of generated code !
        //}}AFX_MSG
    上面四句又是什么意思,那些加到它们之间,那些加到它们外面0 DECLARE_MESSAGE_MAP()
    上面这一句又是什么意思谢谢先!
      

  3.   

    DECLARE_MESSAGE_MAP() 是声明消息映射
      

  4.   

    //{{和//}}是VC加上的特殊语句,一般是VC自动加上去的消息响应函数什么的,之间的语句也一般不要自己加上去,最好也不要改动(当然也可以改)。