MainFrm.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. // 这段 MFC 示例源代码演示如何使用 MFC Microsoft Office Fluent 用户界面
  2. // (“Fluent UI”)。该示例仅供参考,
  3. // 用以补充《Microsoft 基础类参考》和
  4. // MFC C++ 库软件随附的相关电子文档。
  5. // 复制、使用或分发 Fluent UI 的许可条款是单独提供的。
  6. // 若要了解有关 Fluent UI 许可计划的详细信息,请访问
  7. // https://go.microsoft.com/fwlink/?LinkId=238214.
  8. //
  9. // 版权所有(C) Microsoft Corporation
  10. // 保留所有权利。
  11. // MainFrm.h: CMainFrame 类的接口
  12. //
  13. #pragma once
  14. #include "FileView.h"
  15. #include "ClassView.h"
  16. #include "OutputWnd.h"
  17. #include "PropertiesWnd.h"
  18. #include "CalendarBar.h"
  19. #include "Resource.h"
  20. class COutlookBar : public CMFCOutlookBar
  21. {
  22. virtual BOOL AllowShowOnPaneMenu() const { return TRUE; }
  23. virtual void GetPaneName(CString& strName) const { BOOL bNameValid = strName.LoadString(IDS_OUTLOOKBAR); ASSERT(bNameValid); if (!bNameValid) strName.Empty(); }
  24. };
  25. class CMainFrame : public CFrameWndEx
  26. {
  27. protected: // 仅从序列化创建
  28. CMainFrame() noexcept;
  29. DECLARE_DYNCREATE(CMainFrame)
  30. // 特性
  31. public:
  32. // 操作
  33. public:
  34. // 重写
  35. public:
  36. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  37. // 实现
  38. public:
  39. virtual ~CMainFrame();
  40. #ifdef _DEBUG
  41. virtual void AssertValid() const;
  42. virtual void Dump(CDumpContext& dc) const;
  43. #endif
  44. protected: // 控件条嵌入成员
  45. CMFCRibbonBar m_wndRibbonBar;
  46. CMFCRibbonApplicationButton m_MainButton;
  47. CMFCToolBarImages m_PanelImages;
  48. CMFCRibbonStatusBar m_wndStatusBar;
  49. CFileView m_wndFileView;
  50. CClassView m_wndClassView;
  51. COutputWnd m_wndOutput;
  52. CPropertiesWnd m_wndProperties;
  53. COutlookBar m_wndNavigationBar;
  54. CMFCShellTreeCtrl m_wndTree;
  55. CCalendarBar m_wndCalendar;
  56. #if __CAPTIONBAR__
  57. CMFCCaptionBar m_wndCaptionBar;
  58. #endif
  59. // 生成的消息映射函数
  60. protected:
  61. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  62. afx_msg void OnApplicationLook(UINT id);
  63. afx_msg void OnUpdateApplicationLook(CCmdUI* pCmdUI);
  64. afx_msg void OnViewFileView();
  65. afx_msg void OnUpdateViewFileView(CCmdUI* pCmdUI);
  66. afx_msg void OnViewClassView();
  67. afx_msg void OnUpdateViewClassView(CCmdUI* pCmdUI);
  68. afx_msg void OnViewOutputWindow();
  69. afx_msg void OnUpdateViewOutputWindow(CCmdUI* pCmdUI);
  70. afx_msg void OnViewPropertiesWindow();
  71. afx_msg void OnUpdateViewPropertiesWindow(CCmdUI* pCmdUI);
  72. afx_msg void OnClassViewCaptionBar();
  73. afx_msg void OnUpdateClassViewCaptionBar(CCmdUI* pCmdUI);
  74. afx_msg void OnOptions();
  75. afx_msg void OnFilePrint();
  76. afx_msg void OnFilePrintPreview();
  77. afx_msg void OnUpdateFilePrintPreview(CCmdUI* pCmdUI);
  78. afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection);
  79. DECLARE_MESSAGE_MAP()
  80. BOOL CreateDockingWindows();
  81. void SetDockingWindowIcons(BOOL bHiColorIcons);
  82. #if __OUTLOOKBAR__
  83. BOOL CreateOutlookBar(CMFCOutlookBar& bar, UINT uiID, CMFCShellTreeCtrl& tree, CCalendarBar& calendar, int nInitialWidth);
  84. #endif
  85. #if __CAPTIONBAR__
  86. BOOL CreateCaptionBar();
  87. #endif
  88. int FindFocusedOutlookWnd(CMFCOutlookBarTabCtrl** ppOutlookWnd);
  89. CMFCOutlookBarTabCtrl* FindOutlookParent(CWnd* pWnd);
  90. CMFCOutlookBarTabCtrl* m_pCurrOutlookWnd;
  91. CMFCOutlookBarPane* m_pCurrOutlookPage;
  92. public:
  93. afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
  94. afx_msg void OnViewFileBar();
  95. afx_msg void OnUpdateViewFileBar(CCmdUI *pCmdUI);
  96. afx_msg void OnViewPropertyBar();
  97. afx_msg void OnUpdateViewPropertyBar(CCmdUI *pCmdUI);
  98. afx_msg void OnViewOutputBar();
  99. afx_msg void OnUpdateViewOutputBar(CCmdUI *pCmdUI);
  100. };