PaneView.cpp
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:3k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // PaneView.cpp : implementation file
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #include "stdafx.h"
  21. #include "DockingContainers.h"
  22. #include "PaneView.h"
  23. #ifdef _DEBUG
  24. #define new DEBUG_NEW
  25. #undef THIS_FILE
  26. static char THIS_FILE[] = __FILE__;
  27. #endif
  28. /////////////////////////////////////////////////////////////////////////////
  29. // CPaneView
  30. CPaneView::CPaneView()
  31. {
  32. m_pView = 0;
  33. m_nToolBarID = 0;
  34. }
  35. CPaneView::~CPaneView()
  36. {
  37. }
  38. BEGIN_MESSAGE_MAP(CPaneView, CWnd)
  39. //{{AFX_MSG_MAP(CPaneView)
  40. ON_WM_CREATE()
  41. ON_WM_SIZE()
  42. //}}AFX_MSG_MAP
  43. END_MESSAGE_MAP()
  44. /////////////////////////////////////////////////////////////////////////////
  45. // CPaneView message handlers
  46. int CPaneView::OnCreate(LPCREATESTRUCT lpCreateStruct)
  47. {
  48. if (CWnd::OnCreate(lpCreateStruct) == -1)
  49. return -1;
  50. m_pView = OnCreateView();
  51. if (m_nToolBarID != 0)
  52. {
  53. VERIFY(m_wndToolBar.CreateToolBar(WS_VISIBLE | WS_CHILD | 
  54. CBRS_TOOLTIPS | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, this));
  55. VERIFY(m_wndToolBar.LoadToolBar(m_nToolBarID));
  56. m_wndToolBar.SetButtonSize(CSize(23, 23));
  57. }
  58. return 0;
  59. }
  60. CWnd* CPaneView::OnCreateView()
  61. {
  62. if (!m_wndView.Create(WS_CHILD|WS_VISIBLE|LVS_ICON, CXTPEmptyRect(), this, 0))
  63. return NULL;
  64. return &m_wndView;
  65. }
  66. void CPaneView::OnSize(UINT nType, int cx, int cy)
  67. {
  68. CWnd::OnSize(nType, cx, cy);
  69. CSize sz(0);
  70. if (m_wndToolBar.GetSafeHwnd())
  71. {
  72. sz = m_wndToolBar.CalcDockingLayout(cx, /*LM_HIDEWRAP|*/ LM_HORZDOCK|LM_HORZ | LM_COMMIT);
  73. m_wndToolBar.MoveWindow(0, 0, cx, sz.cy);
  74. m_wndToolBar.Invalidate(FALSE);
  75. }
  76. if (m_pView && m_pView->GetSafeHwnd())
  77. {
  78. m_pView->MoveWindow(0, sz.cy, cx, cy - sz.cy);
  79. }
  80. }
  81. CWnd* CPaneView::CreatePane(CWnd* pParentWnd)
  82. {
  83. if (GetSafeHwnd() == 0)
  84. {
  85. VERIFY(Create(_T("STATIC"), NULL, WS_CHILD|WS_CLIPCHILDREN|WS_CLIPSIBLINGS, CXTPEmptyRect(), pParentWnd, 0));
  86. }
  87. return this;
  88. }