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

界面编程

开发平台:

Visual C++

  1. // MainFrm.h : interface of the CMainFrame class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_MAINFRM_H__8AD8EDA0_FE43_4657_B159_597A63DD8A98__INCLUDED_)
  5. #define AFX_MAINFRM_H__8AD8EDA0_FE43_4657_B159_597A63DD8A98__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "ChildFormView.h"
  10. class CColorizedThemeOffice2003;
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CMainFrame
  13. class CMainFrame : public CFrameWnd
  14. {
  15. public:
  16. CMainFrame();
  17. DECLARE_DYNAMIC(CMainFrame)
  18. // Attributes
  19. public:
  20. CExtStatusControlBar  m_wndStatusBar;
  21. CColorizedThemeOffice2003 *m_pPaintManager;
  22. private:
  23. // window placement persistence
  24. WINDOWPLACEMENT m_dataFrameWP;
  25. CBitmap m_bmpTrackerCache;
  26. CBrush m_brushTracker;
  27. CRect m_rcTrackerEntireArea;
  28. // Operations
  29. public:
  30. // Overrides
  31. // ClassWizard generated virtual function overrides
  32. //{{AFX_VIRTUAL(CMainFrame)
  33. public:
  34. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  35. virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
  36. virtual BOOL PreTranslateMessage(MSG* pMsg);
  37. virtual BOOL DestroyWindow();
  38. virtual void ActivateFrame(int nCmdShow = -1);
  39. //}}AFX_VIRTUAL
  40. // Implementation
  41. public:
  42. virtual ~CMainFrame();
  43. #ifdef _DEBUG
  44. virtual void AssertValid() const;
  45. virtual void Dump(CDumpContext& dc) const;
  46. #endif
  47. protected:  // control bar embedded members
  48. CExtMenuControlBar    m_wndMenuBar;
  49. CExtToolControlBar    m_wndToolBar;
  50. CExtToolControlBar    m_wndToolBarSeek;
  51. CExtToolControlBar    m_wndToolBarZoom;
  52. CExtToolControlBar    m_wndToolBarIed;
  53. CExtControlBar    m_wndResizableBar0;
  54. CExtControlBar    m_wndResizableBar1;
  55. CExtControlBar    m_wndResizableBar2;
  56. CChildFormView   *m_pWndView;
  57. // Generated message map functions
  58. protected:
  59. //{{AFX_MSG(CMainFrame)
  60. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  61. afx_msg void OnSetFocus(CWnd *pOldWnd);
  62. //}}AFX_MSG
  63. afx_msg LRESULT OnDrawControlBarTrackedArea(WPARAM wParam, LPARAM lParam);
  64. afx_msg void OnUpdateControlBarMenu(CCmdUI* pCmdUI);
  65. afx_msg BOOL OnBarCheck(UINT nID);
  66. DECLARE_MESSAGE_MAP()
  67. };
  68. class CColorizedThemeOffice2003 : public CExtPaintManagerOffice2003
  69. {
  70. public:
  71. DECLARE_SERIAL( CColorizedThemeOffice2003 );
  72. void SetThemeColors(
  73. COLORREF clrFillHint,
  74. COLORREF clrAccentHint
  75. )
  76. {
  77. if( m_clrFillHint == clrFillHint
  78. && m_clrAccentHint == clrAccentHint
  79. )
  80. return;
  81. m_clrFillHint = clrFillHint;
  82. m_clrAccentHint = clrAccentHint;
  83. InitTranslatedColors();
  84. InitHelperBrushes();
  85. CMainFrame* pMainFrame = (STATIC_DOWNCAST(CMainFrame,AfxGetMainWnd()));
  86. ASSERT( pMainFrame != NULL );
  87. ASSERT_VALID( pMainFrame );
  88. pMainFrame->RedrawWindow(
  89. NULL,
  90. NULL,
  91. RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE
  92. | RDW_FRAME | RDW_ALLCHILDREN
  93. );
  94. CExtControlBar::stat_RedrawFloatingFrames( pMainFrame );
  95. CExtControlBar::stat_RecalcBarMetrics( pMainFrame );
  96. }
  97. COLORREF m_clrFillHint;
  98. COLORREF m_clrAccentHint;
  99. CColorizedThemeOffice2003()
  100. : m_clrFillHint( RGB(196,196,196) )
  101. , m_clrAccentHint( RGB(160, 180, 225) )
  102. {
  103. }
  104. protected:
  105. virtual bool OnQueryThemeColors(
  106. COLORREF *pclrFillHint,
  107. COLORREF *pclrAccentHint = NULL
  108. )
  109. {
  110. if( pclrFillHint != NULL )
  111. *pclrFillHint = m_clrFillHint;
  112. if( pclrAccentHint != NULL )
  113. *pclrAccentHint = m_clrAccentHint;
  114. return true;
  115. }
  116. virtual bool OnQueryUseThemeColors() const
  117. {
  118. return true;
  119. }
  120. virtual e_system_theme_t OnQuerySystemTheme() const
  121. {
  122. return ThemeUnknown;
  123. }
  124. virtual bool OnStateSerialize(
  125. CArchive & ar,
  126. bool bEnableThrowExceptions = false
  127. )
  128. {
  129. CExtPaintManagerOffice2003::OnStateSerialize( ar, bEnableThrowExceptions );
  130. if( ar.IsStoring() )
  131. {
  132. ar << DWORD(m_clrFillHint);
  133. ar << DWORD(m_clrAccentHint);
  134. }
  135. else
  136. {
  137. DWORD dwTmp;
  138. ar >> dwTmp;
  139. m_clrFillHint = COLORREF(dwTmp);
  140. ar >> dwTmp;
  141. m_clrAccentHint = COLORREF(dwTmp);
  142. }
  143. return true;
  144. }
  145. };
  146. /////////////////////////////////////////////////////////////////////////////
  147. //{{AFX_INSERT_LOCATION}}
  148. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  149. #endif // !defined(AFX_MAINFRM_H__8AD8EDA0_FE43_4657_B159_597A63DD8A98__INCLUDED_)