MAINFRM.H
上传用户:sesekoo
上传日期:2020-07-18
资源大小:21543k
文件大小:7k
源码类别:

界面编程

开发平台:

Visual C++

  1. // mainfrm.h : interface of the CMainFrame class
  2. //
  3. // This is a part of the Microsoft Foundation Classes C++ library.
  4. // Copyright (C) 1992-1998 Microsoft Corporation
  5. // All rights reserved.
  6. //
  7. // This source code is only intended as a supplement to the
  8. // Microsoft Foundation Classes Reference and related
  9. // electronic documentation provided with the library.
  10. // See these sources for detailed information regarding the
  11. // Microsoft Foundation Classes product.
  12. //#define __SAMPLE_APP_USES_STD_MENU_LINE
  13. class CMainFrame
  14. : public CExtNCW < CMDIFrameWnd >
  15. #if (!defined __EXT_MFC_NO_CUSTOMIZE)
  16. , public CExtCustomizeSite
  17. #endif // (!defined __EXT_MFC_NO_CUSTOMIZE)
  18. {
  19. DECLARE_DYNAMIC( CMainFrame );
  20. public:
  21. // in standard toolbar
  22. #if (defined __EXT_MFC_NO_CUSTOMIZE)
  23. CExtBarColorButton * m_pBtnColorFillS, * m_pBtnColorOutlineS;
  24. #endif // (defined __EXT_MFC_NO_CUSTOMIZE)
  25. // in palette toolbar
  26. CExtBarColorButton * m_pBtnColorFillP, * m_pBtnColorOutlineP;
  27. CMainFrame();
  28. #ifndef __EXT_MFC_NO_MDI_WINDOWS_LIST_DIALOG
  29. class CMyMdiWindowsListDlg : public CExtMdiWindowsListDlg
  30. {
  31. public:
  32. CMyMdiWindowsListDlg(
  33. CMDIFrameWnd * pMDIFrameWnd,
  34. CWnd * pParent = NULL
  35. )
  36. : CExtMdiWindowsListDlg(
  37. pMDIFrameWnd,
  38. pParent
  39. )
  40. {
  41. }
  42. CMyMdiWindowsListDlg(
  43. HWND hMDIFrameWnd,
  44. CWnd * pParent = NULL
  45. )
  46. : CExtMdiWindowsListDlg(
  47. hMDIFrameWnd,
  48. pParent
  49. )
  50. {
  51. }
  52. protected:
  53. virtual void OnUpdateButtons()
  54. {
  55. CExtMdiWindowsListDlg::OnUpdateButtons();
  56. #if (!defined __SAMPLE_APP_USES_STD_MENU_LINE)
  57. CMainFrame * pFrame = 
  58. static_cast < CMainFrame * > (
  59. CWnd::FromHandlePermanent( m_hMDIFrameWnd )
  60. );
  61. if ( ! pFrame->m_wndMenuBar.IsDisplayMdiDocumentButtons() )
  62. {
  63. m_btnCascade.ShowWindow(SW_HIDE);
  64. m_btnTileVert.ShowWindow(SW_HIDE);
  65. m_btnTileHorz.ShowWindow(SW_HIDE);
  66. m_btnMinimize.ShowWindow(SW_HIDE);
  67. }
  68. else
  69. {
  70. #endif // (!defined __SAMPLE_APP_USES_STD_MENU_LINE)
  71. m_btnCascade.ShowWindow(SW_SHOW);
  72. m_btnTileVert.ShowWindow(SW_SHOW);
  73. m_btnTileHorz.ShowWindow(SW_SHOW);
  74. m_btnMinimize.ShowWindow(SW_SHOW);
  75. #if (!defined __SAMPLE_APP_USES_STD_MENU_LINE)
  76. }
  77. #endif // (!defined __SAMPLE_APP_USES_STD_MENU_LINE)
  78. //m_btnSave.ShowWindow(SW_HIDE);
  79. }
  80. }; // class CMyMdiWindowsListDlg : public CExtMdiWindowsListDlg
  81. #endif // #ifndef __EXT_MFC_NO_MDI_WINDOWS_LIST_DIALOG
  82. // Attributes
  83. public:
  84. // window placement persistence
  85. WINDOWPLACEMENT m_dataFrameWP;
  86. // Operations
  87. public:
  88. // Implementation
  89. public:
  90. virtual ~CMainFrame();
  91. virtual void RecalcLayout(BOOL bNotify = TRUE);
  92. #ifdef _DEBUG
  93. virtual void AssertValid() const;
  94. virtual void Dump(CDumpContext& dc) const;
  95. #endif
  96. public:
  97. // control bar embedded members
  98. #if (!defined __SAMPLE_APP_USES_STD_MENU_LINE)
  99. CExtMenuControlBar    m_wndMenuBar;
  100. #endif // (!defined __SAMPLE_APP_USES_STD_MENU_LINE)
  101. CExtStatusControlBar m_wndStatusBar;
  102. CExtToolControlBar m_wndToolBarStandard;
  103. CExtToolControlBar m_wndToolBarCustom;
  104. CExtThemeSwitcherToolControlBar m_wndToolBarUiLook;
  105. CExtToolControlBar m_wndPalette;
  106. #if (!defined __EXT_MFC_NO_TABMDI_CTRL)
  107. CExtTabMdiOneNoteWnd m_wndMdiTabs;
  108. // CExtTabMdiFlatWnd m_wndMdiTabs;
  109. // CExtTabMdiButtonsWnd m_wndMdiTabs;
  110. // CExtTabMdiWnd m_wndMdiTabs;
  111. #endif // (!defined __EXT_MFC_NO_TABMDI_CTRL)
  112. #if (!defined __EXT_MFC_NO_CUSTOMIZE)
  113. virtual bool OnColorItemValueGet(
  114. CExtBarColorButton * pTBB,
  115. CExtCustomizeCmdTreeNode * pNode,
  116. COLORREF & clr,
  117. bool bSelected
  118. );
  119. virtual bool OnColorItemValueSet(
  120. CExtBarColorButton * pTBB,
  121. CExtCustomizeCmdTreeNode * pNode,
  122. COLORREF & clr,
  123. bool bSelected
  124. );
  125. virtual CExtBarButton * OnCreateToolbarButton(
  126. CExtToolControlBar * pBar,
  127. CExtCustomizeCmdTreeNode * pNodeI,
  128. CExtCustomizeCmdTreeNode * pNodeC
  129. );
  130. #endif // (!defined __EXT_MFC_NO_CUSTOMIZE)
  131. public:
  132. // Overrides
  133. // ClassWizard generated virtual function overrides
  134. //{{AFX_VIRTUAL(CMainFrame)
  135. public:
  136. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  137. virtual BOOL PreTranslateMessage(MSG* pMsg);
  138. virtual BOOL DestroyWindow();
  139. virtual void ActivateFrame(int nCmdShow = -1);
  140. virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
  141. //}}AFX_VIRTUAL
  142. // Generated message map functions
  143. protected:
  144. //{{AFX_MSG(CMainFrame)
  145. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  146. afx_msg void OnMditabsTop();
  147. afx_msg void OnUpdateMditabsTop(CCmdUI* pCmdUI);
  148. afx_msg void OnMditabsBottom();
  149. afx_msg void OnUpdateMditabsBottom(CCmdUI* pCmdUI);
  150. afx_msg void OnMditabsLeft();
  151. afx_msg void OnUpdateMditabsLeft(CCmdUI* pCmdUI);
  152. afx_msg void OnMditabsRight();
  153. afx_msg void OnUpdateMditabsRight(CCmdUI* pCmdUI);
  154. afx_msg void OnMditabsShowClose();
  155. afx_msg void OnUpdateMditabsShowClose(CCmdUI* pCmdUI);
  156. afx_msg void OnMditabsShowCtxHelp();
  157. afx_msg void OnUpdateMditabsShowCtxHelp(CCmdUI* pCmdUI);
  158. afx_msg void OnContextHelp();
  159. afx_msg void OnUpdateContextHelp(CCmdUI* pCmdUI);
  160. afx_msg void OnCustomize();
  161. afx_msg void OnUpdateCustomize(CCmdUI* pCmdUI);
  162. //}}AFX_MSG
  163. afx_msg LRESULT OnExtMenuPrepare(WPARAM wParam, LPARAM lParam);
  164. afx_msg LRESULT OnDrawPopupMenuItem(WPARAM wParam, LPARAM lParam);
  165. afx_msg LRESULT OnColorChangedFinally(WPARAM wParam, LPARAM lParam);
  166. afx_msg LRESULT OnColorSelectCustom(WPARAM wParam, LPARAM lParam);
  167. DECLARE_MESSAGE_MAP()
  168. };
  169. /////////////////////////////////////////////////////////////////////////////
  170. // CDrawInPlaceFrame construction/destruction
  171. class CDrawInPlaceFrame : public COleIPFrameWnd
  172. {
  173. DECLARE_DYNCREATE( CDrawInPlaceFrame );
  174. public:
  175. CDrawInPlaceFrame();
  176. // Attributes
  177. public:
  178. CExtSafeString m_strSerializableProfileName, m_strCmdProfileName;
  179. // Operations
  180. public:
  181. // Overrides
  182. // ClassWizard generated virtual function overrides
  183. //{{AFX_VIRTUAL(CDrawInPlaceFrame)
  184. public:
  185. virtual BOOL OnCreateControlBars(CFrameWnd* pWndFrame, CFrameWnd* pWndDoc);
  186. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  187. virtual BOOL DestroyWindow();
  188. //}}AFX_VIRTUAL
  189. // Implementation
  190. public:
  191. virtual ~CDrawInPlaceFrame();
  192. #ifdef _DEBUG
  193. virtual void AssertValid() const;
  194. virtual void Dump(CDumpContext& dc) const;
  195. #endif
  196. protected:
  197. COleDropTarget m_dropTarget;
  198. COleResizeBar   m_wndResizeBar;
  199. public:
  200. // in standard toolbar
  201. CExtBarColorButton * m_pBtnColorFillS, * m_pBtnColorOutlineS;
  202. // in palette toolbar
  203. CExtBarColorButton * m_pBtnColorFillP, * m_pBtnColorOutlineP;
  204. // control bar embedded members
  205. CExtToolControlBar m_wndToolBarStandard;
  206. CExtToolControlBar m_wndToolBarCustom;
  207. CExtThemeSwitcherToolControlBar m_wndToolBarUiLook;
  208. CExtToolControlBar m_wndPalette;
  209. // Generated message map functions
  210. protected:
  211. //{{AFX_MSG(CDrawInPlaceFrame)
  212. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  213. //}}AFX_MSG
  214. afx_msg LRESULT OnExtMenuPrepare(WPARAM wParam, LPARAM lParam);
  215. afx_msg LRESULT OnDrawPopupMenuItem(WPARAM wParam, LPARAM lParam);
  216. afx_msg LRESULT OnColorChangedFinally(WPARAM wParam, LPARAM lParam);
  217. afx_msg LRESULT OnColorSelectCustom(WPARAM wParam, LPARAM lParam);
  218. DECLARE_MESSAGE_MAP()
  219. };
  220. /////////////////////////////////////////////////////////////////////////////