GuiDockToolBar.cpp
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:3k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. //-----------------------------------------------------------------------//
  2. // This is a part of the GuiLib MFC Extention.  //
  3. // Autor  :  Francisco Campos  //
  4. // (C) 2002 Francisco Campos <www.beyondata.com> All rights reserved     //
  5. // This code is provided "as is", with absolutely no warranty expressed  //
  6. // or implied. Any use is at your own risk.  //
  7. // You must obtain the author's consent before you can include this code //
  8. // in a software library.  //
  9. // If the source code in  this file is used in any application  //
  10. // then acknowledgement must be made to the author of this program  //
  11. // fcampos@tutopia.com  //
  12. //-----------------------------------------------------------------------//
  13. #include "stdafx.h"
  14. #include "GuiDockToolBar.h"
  15. #include "GuiDrawlayer.h"
  16. #ifdef _DEBUG
  17. #define new DEBUG_NEW
  18. #undef THIS_FILE
  19. static char THIS_FILE[] = __FILE__;
  20. #endif
  21. /////////////////////////////////////////////////////////////////////////////
  22. // CGuiDockToolBar
  23. CGuiDockToolBar::CGuiDockToolBar()
  24. {
  25. m_clrface=GuiDrawLayer::GetRGBColorXP();
  26. m_Size=16;
  27. }
  28. CGuiDockToolBar::~CGuiDockToolBar()
  29. {
  30. }
  31. BEGIN_MESSAGE_MAP(CGuiDockToolBar, CControlBar)
  32. //{{AFX_MSG_MAP(CGuiDockToolBar)
  33. ON_WM_CREATE()
  34. ON_WM_ERASEBKGND()
  35. ON_WM_PAINT()
  36. ON_WM_NCPAINT()
  37. ON_WM_NCCALCSIZE()
  38. ON_WM_SYSCOLORCHANGE()
  39. //}}AFX_MSG_MAP
  40. END_MESSAGE_MAP()
  41. /////////////////////////////////////////////////////////////////////////////
  42. // CGuiDockToolBar message handlers
  43. BOOL CGuiDockToolBar::Create(CWnd* pParentWnd,DWORD dwAling) 
  44. {
  45. // TODO: Add your specialized code here and/or call the base class
  46. /* ASSERT (  (dwAling & CBRS_ALIGN_TOP) &&
  47.   (dwAling & CBRS_ALIGN_RIGHT) &&
  48.   (dwAling & CBRS_ALIGN_BOTTOM) &&
  49.   (dwAling & CBRS_ALIGN_LEFT) );
  50. */ ASSERT ( dwAling & CBRS_ALIGN_ANY);
  51. SetBarStyle (dwAling);
  52. DWORD dwStyle = CCS_NOPARENTALIGN|CCS_NOMOVEY|CCS_NODIVIDER|CCS_NORESIZE;
  53. if (pParentWnd->GetStyle() & WS_THICKFRAME)
  54. dwStyle |= SBARS_SIZEGRIP;
  55. dwStyle |= WS_CHILD|WS_VISIBLE;
  56. return CControlBar::Create(0,0,dwStyle,
  57. CRect(0,0,0,0),pParentWnd,AFX_IDW_STATUS_BAR);
  58. }
  59. int CGuiDockToolBar::OnCreate(LPCREATESTRUCT lpCreateStruct) 
  60. {
  61. if (CControlBar::OnCreate(lpCreateStruct) == -1)
  62. return -1;
  63. // TODO: Add your specialized creation code here
  64. return 0;
  65. }
  66. BOOL CGuiDockToolBar::OnEraseBkgnd(CDC* pDC) 
  67. {
  68. // TODO: Add your message handler code here and/or call default
  69. CBrush cbr;
  70. cbr.CreateSolidBrush(m_clrface);
  71. CRect m_rect;
  72. GetClientRect(m_rect);
  73. pDC->FillRect(m_rect,&cbr);
  74. return TRUE;
  75. }
  76. void CGuiDockToolBar::OnSysColorChange()
  77. {
  78. m_clrface=GuiDrawLayer::GetRGBColorXP();
  79. CControlBar::OnSysColorChange();
  80. }
  81. void CGuiDockToolBar::OnPaint() 
  82. {
  83. CPaintDC dc(this); // device context for painting
  84. // TODO: Add your message handler code here
  85. // Do not call CControlBar::OnPaint() for painting messages
  86. }
  87. void CGuiDockToolBar::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp) 
  88. {
  89. // TODO: Add your message handler code here and/or call default
  90. CControlBar::OnNcCalcSize(bCalcValidRects, lpncsp);
  91. }
  92. void CGuiDockToolBar::OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler)
  93. {
  94. }
  95. CSize CGuiDockToolBar::CalcFixedLayout(BOOL bStretch, BOOL bHorz)
  96. {
  97. if (bHorz)
  98. return CSize(32767,m_Size);
  99. else
  100. return CSize(m_Size,32767);
  101. }