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__A274CAD4_2CB1_4E8A_9B59_6F178266DEF8__INCLUDED_)
  5. #define AFX_MAINFRM_H__A274CAD4_2CB1_4E8A_9B59_6F178266DEF8__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #if !defined(__EXT_TEMPL_H)
  10. #include <ExtTempl.h>
  11. #endif
  12. /*
  13. class CToolBarWithoutChevronButton : public CExtToolControlBar
  14. {
  15. public:
  16. class CMyContentExpandButton : public CExtBarContentExpandButton
  17. {
  18. protected:
  19. mutable bool m_bComputingExtendedLayout:1;
  20. public:
  21. CMyContentExpandButton( CExtToolControlBar * pBar = NULL )
  22. : CExtBarContentExpandButton( pBar )
  23. , m_bComputingExtendedLayout( false )
  24. {
  25. }
  26. virtual bool IsVisible() const
  27. {
  28. if( m_bComputingExtendedLayout )
  29. return CExtBarContentExpandButton::IsVisible();
  30. bool bVisible = ( GetButtons().GetSize() > 0 ) ? true : false;
  31. return bVisible;
  32. }
  33. virtual CSize CalculateLayout(
  34. CDC & dc,
  35. CSize sizePreCalc,
  36. BOOL bHorz
  37. )
  38. {
  39. if( m_bComputingExtendedLayout )
  40. return CExtBarContentExpandButton::CalculateLayout( dc, sizePreCalc, bHorz );
  41. if( IsVisible() )
  42. {
  43. SetStyle( GetStyle() & (~(TBBS_HIDDEN)) );
  44. return CExtBarContentExpandButton::CalculateLayout( dc, sizePreCalc, bHorz );
  45. }
  46. m_ActiveSize.cx = m_ActiveSize.cy = 0;
  47. SetStyle( GetStyle() | TBBS_HIDDEN );
  48. return m_ActiveSize;
  49. }
  50. friend class CToolBarWithoutChevronButton;
  51. }; /// class CMyContentExpandButton
  52. virtual CExtBarContentExpandButton * OnCreateBarRightBtn()
  53. {
  54. return new CMyContentExpandButton( this );
  55. }
  56. virtual void _RecalcPositionsImpl()
  57. {
  58. CMyContentExpandButton * pRightTBB = (CMyContentExpandButton*)GetRightButton();
  59. if( pRightTBB == NULL )
  60. {
  61. CExtToolControlBar::_RecalcPositionsImpl();
  62. return;
  63. }
  64. ASSERT_VALID( pRightTBB );
  65. bool bVisibleOld = pRightTBB->IsVisible();
  66. pRightTBB->SetStyle( pRightTBB->GetStyle() & (~(TBBS_HIDDEN)) );
  67. pRightTBB->Show( true );
  68. pRightTBB->m_bComputingExtendedLayout = true;
  69. CExtToolControlBar::_RecalcPositionsImpl();
  70. pRightTBB->m_bComputingExtendedLayout = false;
  71. bool bVisibleNew = pRightTBB->IsVisible();
  72. if( bVisibleOld != bVisibleNew )
  73. CExtToolControlBar::_RecalcPositionsImpl();
  74. }
  75. }; /// class CToolBarWithoutChevronButton
  76. */
  77. class CMainFrame : public CExtNCW < CFrameWnd >
  78. {
  79. protected: // create from serialization only
  80. CMainFrame();
  81. DECLARE_DYNCREATE(CMainFrame)
  82. // Attributes
  83. protected:
  84. WINDOWPLACEMENT m_dataFrameWP;
  85. public:
  86. // Operations
  87. public:
  88. // Overrides
  89. // ClassWizard generated virtual function overrides
  90. //{{AFX_VIRTUAL(CMainFrame)
  91. virtual BOOL DestroyWindow();
  92. virtual BOOL PreTranslateMessage(MSG* pMsg);
  93. virtual void ActivateFrame(int nCmdShow = -1);
  94. public:
  95. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  96. //}}AFX_VIRTUAL
  97. // Implementation
  98. public:
  99. virtual ~CMainFrame();
  100. #ifdef _DEBUG
  101. virtual void AssertValid() const;
  102. virtual void Dump(CDumpContext& dc) const;
  103. #endif
  104. protected:  // control bar embedded members
  105. CExtMenuControlBar    m_wndMenuBar;
  106. CExtStatusControlBar  m_wndStatusBar;
  107. CExtToolControlBar    m_wndToolBar;
  108. CExtThemeSwitcherToolControlBar m_wndToolBarUiLook;
  109. CExtControlBar m_wndResizableBarEmpty;
  110. CExtControlBar m_wndResizableBarTree;
  111. CExtNCSB < CExtWFF < CTreeCtrl > > m_wndDockedCtrlTree;
  112. CExtControlBar m_wndResizableBarEdit;
  113. CExtNCSB < CExtEdit > m_wndDockedCtrlEdit;
  114. CExtControlBar m_wndResizableBarCP;
  115. CExtWRB< CExtColorCtrl > m_wndDockedCtrlCP;
  116. CExtControlBar m_wndResizableBarDlg;
  117. CExtWRB< CExtResizableDialog > m_wndDockedResizableDialog;
  118. CExtWRB< CExtEdit > m_wndEditInDockedDlg;
  119. CExtLabel m_wndLableInDockedDlg;
  120. // Generated message map functions
  121. protected:
  122. //{{AFX_MSG(CMainFrame)
  123. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  124. //}}AFX_MSG
  125. afx_msg void OnUpdateControlBarMenu(CCmdUI* pCmdUI);
  126. afx_msg BOOL OnBarCheck(UINT nID);
  127. DECLARE_MESSAGE_MAP()
  128. };
  129. /////////////////////////////////////////////////////////////////////////////
  130. //{{AFX_INSERT_LOCATION}}
  131. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  132. #endif // !defined(AFX_MAINFRM_H__A274CAD4_2CB1_4E8A_9B59_6F178266DEF8__INCLUDED_)