友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
第三电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

深入浅出MFC第2版(PDF格式)-第157部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!


                   #0156          aboutDlg。DoModal(); 

                   #0157  } 



878 


…………………………………………………………Page 941……………………………………………………………

                                                   附錄B    Scribble Step5  完整原始碼 



MAINFRAME。H 



#0001  class CMainFrame : public CMDIFrameWnd 

#0002  { 

#0003          DECLARE_DYNAMIC(CMainFrame) 

#0004  public: 

#0005          CMainFrame(); 

#0006 

#0007  // Attributes 

#0008  public: 

#0009 

#0010  // Operations 

#0011  public: 

#0012 

#0013  // Overrides 

#0014          // ClassWizard generated virtual function overrides 

#0015          //{{AFX_VIRTUAL(CMainFrame) 

#0016          virtual BOOL PreCreateWindow(CREATESTRUCT& cs); 

#0017          //}}AFX_VIRTUAL 

#0018 

#0019  // Implementation 

#0020  public: 

#0021          virtual ~CMainFrame(); 

#0022  #ifdef _DEBUG 

#0023          virtual void AssertValid() const; 

#0024          virtual void Dump(CDumpContext& dc) const; 

#0025  #endif 

#0026 

#0027  protected:  // control bar embedded members 

#0028          CStatusBar  m_wndStatusBar; 

#0029          CToolBar    m_wndToolBar; 

#0030 

#0031  // Generated message map functions 

#0032  protected: 

#0033          //{{AFX_MSG(CMainFrame) 

#0034          afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); 

#0035            // NOTE the ClassWizard will add and remove member functions here。 

#0036            //    DO NOT EDIT what you see in these blocks of generated code! 

#0037          //}}AFX_MSG 

#0038          DECLARE_MESSAGE_MAP() 

#0039  }; 



                                                                                     879 


…………………………………………………………Page 942……………………………………………………………

                   第五篇    附錄  



                   MAINFRAME。CPP 



                   #0001  #include 〃stdafx。h〃 

                   #0002  #include 〃Scribble。h〃 

                   #0003 

                   #0004  #include 〃MainFrm。h〃 

                   #0005 

                   #0006  #ifdef _DEBUG 

                   #0007  #define new DEBUG_NEW 

                   #0008  #undef THIS_FILE 

                   #0009  static char THIS_FILE'' = __FILE__; 

                   #0010  #endif 

                   #0011 

                   #0012  /////////////////////////////////////////////////////////////// 

                   #0013  // CMainFrame 

                   #0014 

                   #0015  IMPLEMENT_DYNAMIC(CMainFrame; CMDIFrameWnd) 

                   #0016 

                   #0017  BEGIN_MESSAGE_MAP(CMainFrame; CMDIFrameWnd) 

                   #0018          //{{AFX_MSG_MAP(CMainFrame) 

                   #0019              // NOTE the ClassWizard will add and remove mapping macros here。 

                   #0020              //    DO NOT EDIT what you see in these blocks of generated code ! 

                   #0021          ON_WM_CREATE() 

                   #0022          //}}AFX_MSG_MAP 

                   #0023  END_MESSAGE_MAP() 

                   #0024 

                   #0025  static UINT indicators'' = 

                   #0026  { 

                   #0027          ID_SEPARATOR;           // status line indicator 

                   #0028          ID_INDICATOR_CAPS; 

                   #0029          ID_INDICATOR_NUM; 

                   #0030          ID_INDICATOR_SCRL; 

                   #0031  }; 

                   #0032 

                   #0033  ///////////////////////////////////////////////////////////////// 

                   #0034  // CMainFrame construction/destruction 

                   #0035 

                   #0036  CMainFrame::CMainFrame() 

                   #0037  { 

                   #0038          // TODO: add member initialization code here 

                   #0039 

                   #0040  } 

                   #0041 

                   #0042  CMainFrame::~CMainFrame() 

                   #0043  { 

                   #0044  } 



880 


…………………………………………………………Page 943……………………………………………………………

                                                   附錄B    Scribble Step5  完整原始碼 



#0045 

#0046  int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 

#0047  { 

#0048          if (CMDIFrameWnd::OnCreate(lpCreateStruct) == …1) 

#0049                  return …1; 

#0050 

#0051          if (!m_wndToolBar。Create(this) || 

#0052                  !m_wndToolBar。LoadToolBar(IDR_MAINFRAME)) 

#0053          { 

#0054                  TRACE0(〃Failed to create toolbarn〃); 

#0055                  return …1;      // fail to create 

#0056          } 

#0057 

#0058          if (!m_wndStatusBar。Create(this) || 

#0059                  !m_wndStatusBar。SetIndicators(indicators; 

#0060                    sizeof(indicators)/sizeof(UINT))) 

#0061          { 

#0062                  TRACE0(〃Failed to create status barn〃); 

#0063                  return …1;      // fail to create 

#0064          } 

#0065 

#0066          // TODO: Remove this if you don't want tool tips 

#0067          m_wndToolBar。SetBarStyle(m_wndToolBar。GetBarStyle() | 

#0068                  CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC); 

#0069 

#0070          // TODO: Delete these three lines if you don't want the toolbar to 

#0071          //  be dockable 

#0072          m_wndToolBar。EnableDocking(CBRS_ALIGN_ANY); 

#0073          EnableDocking(CBRS_ALIGN_ANY); 

#0074          DockControlBar(&m_wndToolBar); 

#0075 

#0076 

#0077          return 0; 

#0078  } 

#0079 

#0080  BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 

#0081  { 

#0082          // TODO: Modify the Window class or styles here by modifying 

#0083          //  the CREATESTRUCT cs 

#0084 

#0085          return CMDIFrameWnd::PreCreateWindow(cs); 

#0086  } 

#0087 

#0088  ///////////////////////////////////////////////////////////////// 

#0089  // CMainFrame diagnostics 

#0090 



                                                                                      881 


…………………………………………………………Page 944……………………………………………………………

                   第五篇    附錄  



                   #0091  #ifdef _DEBUG 

                   #0092  void CMainFrame::AssertValid() const 

                   #0093  { 

                   #0094          CMDIFrameWnd::AssertValid(); 

                   #0095  } 

                   #0096 

                   #0097  void CMainFrame::Dump(CDumpContext& dc) const 

                   #0098  { 

                   #0099          CMDIFrameWnd::Dump(dc); 

                   #0100  } 

                   #0101 

                   #0102  #endif //_DEBUG 

                   #0103 

                   #0104  ///////////////////////////////////////////////////////////////// 

                   #0105  // CMainFrame message handlers 



                   CHILDFRM。H 



                   #0001  class CChildFrame : public CMDIChildWnd 

                   #0002  { 

                   #0003          DECLARE_DYNCREATE(CChildFrame) 

                   #0004  public: 

                   #0005          CChildFrame(); 

                   #0006 

                   #0007  // Attributes 

                   #0008  protected: 

                   #0009          CSplitterWnd    m_wndSplitter; 

                   #0010  public: 

                   #0011 

                   #0012  // Operations 

                   #0013  public: 

                   #0014 

                   #0015  // Overrides 

                   #0016          // ClassWizard generated virtual function overrides 

                   #0017          //{{AFX_VIRTUAL(CChildFrame) 

                   #0018          public: 

                   #0019          virtual BOOL PreCreateWindow(CREATESTRUCT& cs); 

                   #0020          protected: 

                   #0021     virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs; CCreateContext* pContext); 

                   #0022     //}}AFX_VIRTUAL 

                   #0023 

                   #0024  // Implementation 

                   #0025  public: 

                   #0026          virtual ~CChildFrame(); 

                   #0027  #ifdef _DEBUG 

                   #0028          virtual void AssertValid() const; 



882 


…………………………………………………………Page 945……………………………………………………………

                                                   附錄B    Scribble Step5  完整原始碼 



#0029          virtual void Dump(CDumpContext& dc) const; 

#0030  #endif 

#0031 

#0032  // Generated message map functions 

#0033  protected: 

#0034          //{{AFX_MSG(CChildFrame) 

#0035            // NOTE the ClassWizard will add and remove member functions here。 

#0036            //    DO NOT EDIT what you see in these blocks of generated code! 

#0037          //}}AFX_MSG 

#0038          DECLARE_MESSAGE_MAP() 

#0039  }; 



CHILDFRM。CPP 



#0001  #include 〃stdafx。h〃 

#0002  #include 〃Scribble。h〃 

#0003 

#0004  #include 〃ChildFrm。h〃 

#0005 

#0006  #ifdef _DEBUG 

#0007  #define new DEBUG_NEW 

#0008  #undef THIS_FILE 

#0009  static char THIS_FILE'' = __FILE__; 

#0010  #endif 

#0011 

#0012  ///////////////////////////////////////////////////////////////// 

#0013  // CChildFrame 

#0014 

#0015  IMPLEMENT_DYNCREATE(CChildFrame; CMDIChildWnd) 

#0016 

#0017  BEGIN_MESSAGE_MAP(CChildFrame; CMDIChildWnd) 

#0018          //{{AFX_MSG_MAP(CChildFrame) 

#0019              // NOTE the ClassWizard will add and remove mapping macros here。 

#0020              //    DO NOT EDIT what you see in these blocks of generated code ! 

#0021          //}}AFX_MSG_MAP 

#0022  END_MESSAGE_MAP() 

#0023 

#0024  //////////////////////////////////////////////////////////////// 

#0025  // CChildFrame construction/destruction 

#0026 

#0027  CChildFrame::CChildFrame() 

#0028  { 

#0029          // TODO: add member initialization code here 

#0030 

#0031  } 

#0032 



                                                                                     883 


…………………………………………………………Page 946……………………………………………………………

                    第五篇    附錄  



                    #0033  CChildFrame::~CChildFrame() 

                    #0034  { 

                    #0035  } 

                    #0036 

                    #0037  BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs) 

                    #0038  { 

                    #0039          // TODO: Modify the Window class or styles here by modifying 

                    #0040          //  the CREATESTRUCT cs 

                    #0041 

                    #0042          return CMDIChildWnd::PreCreateWindow(cs); 

                    #0043  } 

                    #0044 

                    #0045  ///////////////////////////////////////////////////////////////// 

                    #0046  // CChildFrame 
返回目录 上一页 下一页 回到顶部 0 0
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!