ex72View.cpp
上传用户:qdhmjx
上传日期:2022-07-11
资源大小:2226k
文件大小:4k
源码类别:

书籍源码

开发平台:

Visual C++

  1. // ex72View.cpp : implementation of the CEx72View class
  2. //
  3. #include "stdafx.h"
  4. #include "ex72.h"
  5. #include "ex72Doc.h"
  6. #include "ex72View.h"
  7. #include "MyPropertySheet.h"
  8. #include "MyWizardSheet.h"
  9. CMyWizardSheet* m_pWizardSheet;//全局指针变量
  10. #ifdef _DEBUG
  11. #define new DEBUG_NEW
  12. #undef THIS_FILE
  13. static char THIS_FILE[] = __FILE__;
  14. #endif
  15. /////////////////////////////////////////////////////////////////////////////
  16. // CEx72View
  17. IMPLEMENT_DYNCREATE(CEx72View, CView)
  18. BEGIN_MESSAGE_MAP(CEx72View, CView)
  19. //{{AFX_MSG_MAP(CEx72View)
  20. ON_COMMAND(ID_SheetDlg, OnSheetDlg)
  21. ON_COMMAND(ID_WizardDlg, OnWizardDlg)
  22. //}}AFX_MSG_MAP
  23. // Standard printing commands
  24. ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
  25. ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
  26. ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
  27. END_MESSAGE_MAP()
  28. /////////////////////////////////////////////////////////////////////////////
  29. // CEx72View construction/destruction
  30. CEx72View::CEx72View()
  31. {
  32. // TODO: add construction code here
  33. }
  34. CEx72View::~CEx72View()
  35. {
  36. }
  37. BOOL CEx72View::PreCreateWindow(CREATESTRUCT& cs)
  38. {
  39. // TODO: Modify the Window class or styles here by modifying
  40. //  the CREATESTRUCT cs
  41. return CView::PreCreateWindow(cs);
  42. }
  43. /////////////////////////////////////////////////////////////////////////////
  44. // CEx72View drawing
  45. void CEx72View::OnDraw(CDC* pDC)
  46. {
  47. CEx72Doc* pDoc = GetDocument();
  48. ASSERT_VALID(pDoc);
  49. // TODO: add draw code for native data here
  50. }
  51. /////////////////////////////////////////////////////////////////////////////
  52. // CEx72View printing
  53. BOOL CEx72View::OnPreparePrinting(CPrintInfo* pInfo)
  54. {
  55. // default preparation
  56. return DoPreparePrinting(pInfo);
  57. }
  58. void CEx72View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  59. {
  60. // TODO: add extra initialization before printing
  61. }
  62. void CEx72View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  63. {
  64. // TODO: add cleanup after printing
  65. }
  66. /////////////////////////////////////////////////////////////////////////////
  67. // CEx72View diagnostics
  68. #ifdef _DEBUG
  69. void CEx72View::AssertValid() const
  70. {
  71. CView::AssertValid();
  72. }
  73. void CEx72View::Dump(CDumpContext& dc) const
  74. {
  75. CView::Dump(dc);
  76. }
  77. CEx72Doc* CEx72View::GetDocument() // non-debug version is inline
  78. {
  79. ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CEx72Doc)));
  80. return (CEx72Doc*)m_pDocument;
  81. }
  82. #endif //_DEBUG
  83. /////////////////////////////////////////////////////////////////////////////
  84. // CEx72View message handlers
  85. void CEx72View::OnProperties()
  86. {
  87. // TODO: The property sheet attached to your project
  88. // via this function is not hooked up to any message
  89. // handler.  In order to actually use the property sheet,
  90. // you will need to associate this function with a control
  91. // in your project such as a menu item or tool bar button.
  92. CMyPropertySheet propSheet;
  93. propSheet.DoModal();
  94. // This is where you would retrieve information from the property
  95. // sheet if propSheet.DoModal() returned IDOK.  We aren't doing
  96. // anything for simplicity.
  97. }
  98. void CEx72View::OnSheetDlg() 
  99. {
  100. OnProperties();
  101. }
  102. void CEx72View::OnWizard()
  103. {
  104. // TODO: The property sheet attached to your project
  105. // via this function is not hooked up to any message
  106. // handler.  In order to actually use the property sheet,
  107. // you will need to associate this function with a control
  108. // in your project such as a menu item or tool bar button.
  109. m_pWizardSheet=new CMyWizardSheet; //动态分配空间初始化指针
  110. m_pWizardSheet->DoModal(); //显示向导对话框
  111. delete m_pWizardSheet; //释放空间
  112. // This is where you would retrieve information from the property
  113. // sheet if propSheet.DoModal() returned IDOK.  We aren't doing
  114. // anything for simplicity.
  115. }
  116. void CEx72View::OnWizardDlg() 
  117. {
  118. OnWizard(); //调用OnWizard函数,显示向导对话框
  119. }