GuiDockToolBar.cpp
上传用户:wlkj888
上传日期:2022-08-01
资源大小:806k
文件大小:4k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. /****************************************************************************
  2.  * *  
  3.  * GuiToolKit   *
  4.  *  (MFC extension) *  
  5.  * Created by Francisco Campos G. www.beyondata.com fcampos@beyondata.com *
  6.  *--------------------------------------------------------------------------*    
  7.  * *
  8.  * This program is free software;so you are free to use it any of your *
  9.  * applications (Freeware, Shareware, Commercial),but leave this header *
  10.  * intact. *
  11.  * *
  12.  * These files are provided "as is" without warranty of any kind. *
  13.  * *
  14.  *        GuiToolKit is forever FREE CODE !!!!! *
  15.  * *
  16.  *--------------------------------------------------------------------------*
  17.  * Created by: Francisco Campos G. *
  18.  * Bug Fixes and improvements : (Add your name) *
  19.  * -Francisco Campos *
  20.  * *
  21.  ****************************************************************************/
  22. #include "stdafx.h"
  23. #include "GuiDockToolBar.h"
  24. #include "GuiDrawlayer.h"
  25. #ifdef _DEBUG
  26. #define new DEBUG_NEW
  27. #undef THIS_FILE
  28. static char THIS_FILE[] = __FILE__;
  29. #endif
  30. /////////////////////////////////////////////////////////////////////////////
  31. // CGuiDockToolBar
  32. CGuiDockToolBar::CGuiDockToolBar()
  33. {
  34. m_clrface=GuiDrawLayer::GetRGBColorFace(GuiDrawLayer::m_Style);
  35. m_Size=3;
  36. }
  37. CGuiDockToolBar::~CGuiDockToolBar()
  38. {
  39. }
  40. BEGIN_MESSAGE_MAP(CGuiDockToolBar, CControlBar)
  41. //{{AFX_MSG_MAP(CGuiDockToolBar)
  42. ON_WM_CREATE()
  43. ON_WM_ERASEBKGND()
  44. ON_WM_PAINT()
  45. ON_WM_NCPAINT()
  46. ON_WM_NCCALCSIZE()
  47. ON_WM_SYSCOLORCHANGE()
  48. //}}AFX_MSG_MAP
  49. END_MESSAGE_MAP()
  50. /////////////////////////////////////////////////////////////////////////////
  51. // CGuiDockToolBar message handlers
  52. BOOL CGuiDockToolBar::Create(CWnd* pParentWnd,DWORD dwAling) 
  53. {
  54. // TODO: Add your specialized code here and/or call the base class
  55. /* ASSERT (  (dwAling & CBRS_ALIGN_TOP) &&
  56.   (dwAling & CBRS_ALIGN_RIGHT) &&
  57.   (dwAling & CBRS_ALIGN_BOTTOM) &&
  58.   (dwAling & CBRS_ALIGN_LEFT) );
  59. */ ASSERT ( dwAling & CBRS_ALIGN_ANY);
  60. SetBarStyle (dwAling);
  61. DWORD dwStyle = CCS_NOPARENTALIGN|CCS_NOMOVEY|CCS_NODIVIDER|CCS_NORESIZE;
  62. if (pParentWnd->GetStyle() & WS_THICKFRAME)
  63. dwStyle |= SBARS_SIZEGRIP;
  64. dwStyle |= WS_CHILD|WS_VISIBLE;
  65. return CControlBar::Create(0,0,dwStyle,
  66. CRect(0,0,0,0),pParentWnd,0x9999);
  67. }
  68. int CGuiDockToolBar::OnCreate(LPCREATESTRUCT lpCreateStruct) 
  69. {
  70. if (CControlBar::OnCreate(lpCreateStruct) == -1)
  71. return -1;
  72. // TODO: Add your specialized creation code here
  73. return 0;
  74. }
  75. BOOL CGuiDockToolBar::OnEraseBkgnd(CDC* pDC) 
  76. {
  77. // TODO: Add your message handler code here and/or call default
  78. CBrush cbr;
  79. cbr.CreateSolidBrush(GuiDrawLayer::GetRGBColorFace(GuiDrawLayer::m_Style));
  80. CRect m_rect;
  81. GetClientRect(m_rect);
  82. pDC->FillRect(m_rect,&cbr);
  83. return TRUE;
  84. }
  85. void CGuiDockToolBar::OnSysColorChange()
  86. {
  87. m_clrface=GuiDrawLayer::GetRGBColorFace(GuiDrawLayer::m_Style);
  88. CControlBar::OnSysColorChange();
  89. }
  90. void CGuiDockToolBar::OnPaint() 
  91. {
  92. CPaintDC dc(this); // device context for painting
  93. CRect m_rect;
  94. GetClientRect(m_rect);
  95. CBrush cbr;
  96. m_clrface=GuiDrawLayer::GetRGBColorFace(GuiDrawLayer::m_Style);
  97. cbr.CreateSolidBrush(m_clrface);
  98. dc.FillRect(m_rect,&cbr);
  99. // TODO: Add your message handler code here
  100. // Do not call CControlBar::OnPaint() for painting messages
  101. }
  102. void CGuiDockToolBar::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp) 
  103. {
  104. // TODO: Add your message handler code here and/or call default
  105. CControlBar::OnNcCalcSize(bCalcValidRects, lpncsp);
  106. }
  107. void CGuiDockToolBar::OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler)
  108. {
  109. }
  110. CSize CGuiDockToolBar::CalcFixedLayout(BOOL bStretch, BOOL bHorz)
  111. {
  112. if (bHorz)
  113. return CSize(32767,m_Size);
  114. else
  115. return CSize(m_Size,32767);
  116. }