英语出题及判分系统View.cpp
上传用户:z_mail1980
上传日期:2007-06-01
资源大小:647k
文件大小:4k
源码类别:

SNMP编程

开发平台:

Visual C++

  1. // 英语出题及判分系统View.cpp : implementation of the CMyView class
  2. //
  3. #include "stdafx.h"
  4. #include "英语出题及判分系统.h"
  5. #include "英语出题及判分系统Set.h"
  6. #include "英语出题及判分系统Doc.h"
  7. #include "英语出题及判分系统View.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CMyView
  15. IMPLEMENT_DYNCREATE(CMyView, CRecordView)
  16. BEGIN_MESSAGE_MAP(CMyView, CRecordView)
  17. //{{AFX_MSG_MAP(CMyView)
  18. ON_BN_CLICKED(IDC_BUTTONNEXT, OnButtonnext)
  19. ON_BN_CLICKED(IDC_RADIOA, OnRadioa)
  20. ON_BN_CLICKED(IDC_RADIOB, OnRadiob)
  21. ON_BN_CLICKED(IDC_RADIOC, OnRadioc)
  22. ON_BN_CLICKED(IDC_RADIOD, OnRadiod)
  23. //}}AFX_MSG_MAP
  24. // Standard printing commands
  25. ON_COMMAND(ID_FILE_PRINT, CRecordView::OnFilePrint)
  26. ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView::OnFilePrint)
  27. ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView::OnFilePrintPreview)
  28. END_MESSAGE_MAP()
  29. /////////////////////////////////////////////////////////////////////////////
  30. // CMyView construction/destruction
  31. CMyView::CMyView()
  32. : CRecordView(CMyView::IDD)
  33. {
  34. //{{AFX_DATA_INIT(CMyView)
  35. m_pSet = NULL;
  36. //}}AFX_DATA_INIT
  37. // TODO: add construction code here
  38. m_count=0;
  39. }
  40. CMyView::~CMyView()
  41. {
  42. }
  43. void CMyView::DoDataExchange(CDataExchange* pDX)
  44. {
  45. CRecordView::DoDataExchange(pDX);
  46. //{{AFX_DATA_MAP(CMyView)
  47. DDX_FieldText(pDX, IDC_Topic, m_pSet->m_Topic, m_pSet);
  48. DDX_FieldText(pDX, IDC_STATICA, m_pSet->m_Answer1, m_pSet);
  49. DDX_FieldText(pDX, IDC_STATICB, m_pSet->m_Answer2, m_pSet);
  50. DDX_FieldText(pDX, IDC_STATICC, m_pSet->m_Answer3, m_pSet);
  51. DDX_FieldText(pDX, IDC_STATICD, m_pSet->m_Answer4, m_pSet);
  52. DDX_Text(pDX, IDC_STATICCOUNT, m_count);
  53. //}}AFX_DATA_MAP
  54. }
  55. BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)
  56. {
  57. // TODO: Modify the Window class or styles here by modifying
  58. //  the CREATESTRUCT cs
  59. return CRecordView::PreCreateWindow(cs);
  60. }
  61. void CMyView::OnInitialUpdate()
  62. {
  63. m_pSet = &GetDocument()->m_mySet;
  64. CRecordView::OnInitialUpdate();
  65. GetParentFrame()->RecalcLayout();
  66. ResizeParentToFit();
  67. }
  68. /////////////////////////////////////////////////////////////////////////////
  69. // CMyView printing
  70. BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)
  71. {
  72. // default preparation
  73. return DoPreparePrinting(pInfo);
  74. }
  75. void CMyView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  76. {
  77. // TODO: add extra initialization before printing
  78. }
  79. void CMyView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  80. {
  81. // TODO: add cleanup after printing
  82. }
  83. /////////////////////////////////////////////////////////////////////////////
  84. // CMyView diagnostics
  85. #ifdef _DEBUG
  86. void CMyView::AssertValid() const
  87. {
  88. CRecordView::AssertValid();
  89. }
  90. void CMyView::Dump(CDumpContext& dc) const
  91. {
  92. CRecordView::Dump(dc);
  93. }
  94. CMyDoc* CMyView::GetDocument() // non-debug version is inline
  95. {
  96. ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
  97. return (CMyDoc*)m_pDocument;
  98. }
  99. #endif //_DEBUG
  100. /////////////////////////////////////////////////////////////////////////////
  101. // CMyView database support
  102. CRecordset* CMyView::OnGetRecordset()
  103. {
  104. return m_pSet;
  105. }
  106. /////////////////////////////////////////////////////////////////////////////
  107. // CMyView message handlers
  108. void CMyView::OnButtonnext() 
  109. {
  110. // TODO: Add your control notification handler code here
  111. m_pSet->MoveNext();
  112. if(m_pSet->IsEOF()){
  113. MessageBox("记录已经在最后一条!");
  114. m_pSet->MovePrev();
  115. UpdateData(FALSE);
  116. return;
  117. }
  118. UpdateData(FALSE);
  119. }
  120. void CMyView::OnRadioa() 
  121. {
  122. // TODO: Add your control notification handler code here
  123. if(m_pSet->m_FinAnswer=="A")
  124. {
  125. MessageBox("答对了!");
  126. ++m_count;
  127. UpdateData(FALSE);
  128. }
  129. else
  130. MessageBox("答错了!");
  131. }
  132. void CMyView::OnRadiob() 
  133. {
  134. // TODO: Add your control notification handler code here
  135. if(m_pSet->m_FinAnswer=="B")
  136. {
  137. MessageBox("答对了!");
  138. ++m_count;
  139. UpdateData(FALSE);
  140. }
  141. else
  142. MessageBox("答错了!");
  143. }
  144. void CMyView::OnRadioc() 
  145. {
  146. // TODO: Add your control notification handler code here
  147. if(m_pSet->m_FinAnswer=="C")
  148. {
  149. MessageBox("答对了!");
  150. ++m_count;
  151. UpdateData(FALSE);
  152. }
  153. else
  154. MessageBox("答错了!");
  155. }
  156. void CMyView::OnRadiod() 
  157. {
  158. // TODO: Add your control notification handler code here
  159. if(m_pSet->m_FinAnswer=="D")
  160. {
  161. MessageBox("答对了!");
  162. ++m_count;
  163. UpdateData(FALSE);
  164. }
  165. else
  166. MessageBox("答错了!");
  167. }