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

对话框与窗口

开发平台:

Visual C++

  1. // ToolsView.cpp: implementation of the CToolsView class.
  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 "ToolsView.h"
  23. #include "DockingContainersView.h"
  24. #ifdef _DEBUG
  25. #undef THIS_FILE
  26. static char THIS_FILE[]=__FILE__;
  27. #define new DEBUG_NEW
  28. #endif
  29. //////////////////////////////////////////////////////////////////////
  30. // Construction/Destruction
  31. //////////////////////////////////////////////////////////////////////
  32. CToolsView::CToolsView()
  33. {
  34. m_nToolBarID = IDR_TOOLS_BAR;
  35. m_nCurrentTool = ID_TOOLS_SELECTION;
  36. }
  37. CToolsView::~CToolsView()
  38. {
  39. }
  40. BEGIN_MESSAGE_MAP(CToolsView, CPaneView)
  41. //{{AFX_MSG_MAP(CToolsView)
  42. ON_COMMAND_RANGE(ID_TOOLS_SELECTION, ID_TOOLS_ELLIPSE2, OnToolsCommand)
  43. ON_UPDATE_COMMAND_UI_RANGE(ID_TOOLS_SELECTION, ID_TOOLS_ELLIPSE2, OnUpdateToolsCommand)
  44. //}}AFX_MSG_MAP
  45. END_MESSAGE_MAP()
  46. void CToolsView::Refresh()
  47. {
  48. if (m_wndNavigateWnd.GetSafeHwnd())
  49. m_wndNavigateWnd.Invalidate(FALSE);
  50. }
  51. CWnd* CToolsView::OnCreateView()
  52. {
  53. if (!m_wndNavigateWnd.Create(NULL, WS_VISIBLE | WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
  54. CRect(0,0,0,0), this ))
  55. {
  56. TRACE0( "Unable to create tree control.n" );
  57. return NULL;
  58. }
  59. return &m_wndNavigateWnd;
  60. }
  61. void CToolsView::OnToolsCommand(UINT nID)
  62. {
  63. m_nCurrentTool = nID;
  64. }
  65. void CToolsView::OnUpdateToolsCommand(CCmdUI* pCmdUI)
  66. {
  67. pCmdUI->SetCheck(m_nCurrentTool == pCmdUI->m_nID? TRUE: FALSE);
  68. }
  69. /////////////////////////////////////////////////////////////////////////////
  70. // CToolsNavigateWnd
  71. CToolsNavigateWnd::CToolsNavigateWnd()
  72. {
  73. }
  74. CToolsNavigateWnd::~CToolsNavigateWnd()
  75. {
  76. }
  77. BEGIN_MESSAGE_MAP(CToolsNavigateWnd, CStatic)
  78. //{{AFX_MSG_MAP(CToolsNavigateWnd)
  79. ON_WM_ERASEBKGND()
  80. ON_WM_PAINT()
  81. ON_WM_SIZE()
  82. //}}AFX_MSG_MAP
  83. END_MESSAGE_MAP()
  84. /////////////////////////////////////////////////////////////////////////////
  85. // CToolsNavigateWnd message handlers
  86. BOOL CToolsNavigateWnd::OnEraseBkgnd(CDC*)
  87. {
  88. return TRUE;
  89. }
  90. void CToolsNavigateWnd::OnPaint()
  91. {
  92. CPaintDC dc(this); // device context for painting
  93. CXTPClientRect rc(this);
  94. dc.FillSolidRect(rc, GetSysColor(COLOR_WINDOW));
  95. CDockingContainersView* pView =
  96. ((CMDIFrameWnd*)AfxGetMainWnd())->MDIGetActive()?
  97. (CDockingContainersView*)(((CMDIFrameWnd*)AfxGetMainWnd())->MDIGetActive()->GetActiveView())
  98. : NULL;
  99. if (pView)
  100. {
  101. pView->DrawLines(&dc, rc);
  102. }
  103. }
  104. void CToolsNavigateWnd::OnSize(UINT nType, int cx, int cy)
  105. {
  106. CStatic::OnSize(nType, cx, cy);
  107. Invalidate(FALSE);
  108. }