RTDemoDoc.cpp
上传用户:oy0519
上传日期:2008-01-20
资源大小:124k
文件大小:3k
源码类别:

绘图程序

开发平台:

Visual C++

  1. // RTDemoDoc.cpp : implementation of the CRTDemoDoc class
  2. //
  3. #include "stdafx.h"
  4. #include "RTDemo.h"
  5. #include "RTDemoDoc.h"
  6. #include "RTDemoView.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CRTDemoDoc
  14. IMPLEMENT_DYNCREATE(CRTDemoDoc, CDocument)
  15. BEGIN_MESSAGE_MAP(CRTDemoDoc, CDocument)
  16. //{{AFX_MSG_MAP(CRTDemoDoc)
  17. ON_COMMAND(ID_TYPE_GRID, OnTypeGrid)
  18. ON_UPDATE_COMMAND_UI(ID_TYPE_GRID, OnUpdateTypeGrid)
  19. ON_COMMAND(ID_TYPE_BOUNDARY, OnTypeBoundary)
  20. ON_UPDATE_COMMAND_UI(ID_TYPE_BOUNDARY, OnUpdateTypeBoundary)
  21. ON_COMMAND(ID_TYPE_BACKCOLOR, OnTypeBackcolor)
  22. ON_UPDATE_COMMAND_UI(ID_TYPE_BACKCOLOR, OnUpdateTypeBackcolor)
  23. ON_COMMAND(ID_TYPE_TITLE, OnTypeTitle)
  24. ON_UPDATE_COMMAND_UI(ID_TYPE_TITLE, OnUpdateTypeTitle)
  25. ON_COMMAND(ID_TYPE_MEMORYDRAW, OnTypeMemorydraw)
  26. ON_UPDATE_COMMAND_UI(ID_TYPE_MEMORYDRAW, OnUpdateTypeMemorydraw)
  27. //}}AFX_MSG_MAP
  28. END_MESSAGE_MAP()
  29. /////////////////////////////////////////////////////////////////////////////
  30. // CRTDemoDoc construction/destruction
  31. CRTDemoDoc::CRTDemoDoc()
  32. {
  33. m_bMemDraw  = true;
  34. m_bTitle  = true;
  35. m_bBoundary  = false;
  36. m_bGrid  = true;
  37. m_bVertical  = true;
  38. m_nBkColor   = RGB(255, 255, 255);
  39. pView  = NULL;
  40. }
  41. CRTDemoDoc::~CRTDemoDoc()
  42. {
  43. }
  44. BOOL CRTDemoDoc::OnNewDocument()
  45. {
  46. if (!CDocument::OnNewDocument())
  47. return FALSE;
  48. // TODO: add reinitialization code here
  49. // (SDI documents will reuse this document)
  50. return TRUE;
  51. }
  52. /////////////////////////////////////////////////////////////////////////////
  53. // CRTDemoDoc serialization
  54. void CRTDemoDoc::Serialize(CArchive& ar)
  55. {
  56. if (ar.IsStoring())
  57. {
  58. // TODO: add storing code here
  59. }
  60. else
  61. {
  62. // TODO: add loading code here
  63. }
  64. }
  65. /////////////////////////////////////////////////////////////////////////////
  66. // CRTDemoDoc diagnostics
  67. #ifdef _DEBUG
  68. void CRTDemoDoc::AssertValid() const
  69. {
  70. CDocument::AssertValid();
  71. }
  72. void CRTDemoDoc::Dump(CDumpContext& dc) const
  73. {
  74. CDocument::Dump(dc);
  75. }
  76. #endif //_DEBUG
  77. /////////////////////////////////////////////////////////////////////////////
  78. // CRTDemoDoc commands
  79. void CRTDemoDoc::OnTypeGrid() 
  80. {
  81. m_bGrid = !m_bGrid;
  82. pView->Redraw();
  83. }
  84. void CRTDemoDoc::OnUpdateTypeGrid(CCmdUI* pCmdUI) 
  85. {
  86. pCmdUI->SetCheck(m_bGrid);
  87. }
  88. void CRTDemoDoc::OnTypeBoundary() 
  89. {
  90. m_bBoundary = !m_bBoundary;
  91. pView->Redraw();
  92. }
  93. void CRTDemoDoc::OnUpdateTypeBoundary(CCmdUI* pCmdUI) 
  94. {
  95. pCmdUI->SetCheck(m_bBoundary);
  96. }
  97. void CRTDemoDoc::OnTypeBackcolor() 
  98. {
  99. CColorDialog cDlg(m_nBkColor, CC_FULLOPEN | CC_ANYCOLOR);
  100. if (cDlg.DoModal() == IDOK)
  101. {
  102. m_nBkColor = cDlg.GetColor();
  103. pView->Redraw();
  104. }
  105. }
  106. void CRTDemoDoc::OnUpdateTypeBackcolor(CCmdUI* pCmdUI) 
  107. {
  108. // TODO: Add your command update UI handler code here
  109. }
  110. void CRTDemoDoc::OnTypeTitle() 
  111. {
  112. m_bTitle = !m_bTitle;
  113. pView->Redraw();
  114. }
  115. void CRTDemoDoc::OnUpdateTypeTitle(CCmdUI* pCmdUI) 
  116. {
  117. pCmdUI->SetCheck(m_bTitle);
  118. }
  119. void CRTDemoDoc::OnTypeMemorydraw() 
  120. {
  121. m_bMemDraw = !m_bMemDraw;
  122. pView->Redraw();
  123. }
  124. void CRTDemoDoc::OnUpdateTypeMemorydraw(CCmdUI* pCmdUI) 
  125. {
  126. pCmdUI->SetCheck(m_bMemDraw);
  127. }