PropView.cpp
上传用户:peony_8
上传日期:2022-05-18
资源大小:1955k
文件大小:3k
源码类别:

菜单

开发平台:

Visual C++

  1. // PropView.cpp : implementation of the CPropView class
  2. //
  3. #include "stdafx.h"
  4. #include "Prop.h"
  5. #include "PropDoc.h"
  6. #include "PropView.h"
  7. #include "PropSheet.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CPropView
  15. IMPLEMENT_DYNCREATE(CPropView, CView)
  16. BEGIN_MESSAGE_MAP(CPropView, CView)
  17. //{{AFX_MSG_MAP(CPropView)
  18. ON_COMMAND(IDM_PROPERTYSHEET, OnPropertysheet)
  19. //}}AFX_MSG_MAP
  20. END_MESSAGE_MAP()
  21. /////////////////////////////////////////////////////////////////////////////
  22. // CPropView construction/destruction
  23. CPropView::CPropView()
  24. {
  25. // TODO: add construction code here
  26. m_iOccupation=-1;
  27. m_strWorkAddr="";
  28. //数组的初始化,void *memset(void *dest,int c,size_t count);
  29. memset(m_bLike,0,sizeof(m_bLike));
  30. m_strSalary="";
  31. }
  32. CPropView::~CPropView()
  33. {
  34. }
  35. BOOL CPropView::PreCreateWindow(CREATESTRUCT& cs)
  36. {
  37. // TODO: Modify the Window class or styles here by modifying
  38. //  the CREATESTRUCT cs
  39. return CView::PreCreateWindow(cs);
  40. }
  41. /////////////////////////////////////////////////////////////////////////////
  42. // CPropView drawing
  43. void CPropView::OnDraw(CDC* pDC)
  44. {
  45. CPropDoc* pDoc = GetDocument();
  46. ASSERT_VALID(pDoc);
  47. // TODO: add draw code for native data here
  48. CFont font;
  49. font.CreatePointFont(300,"华文行楷");
  50. CFont *pOldFont;
  51. pOldFont=pDC->SelectObject(&font);
  52. CString strTemp;
  53. strTemp="你的职业:";
  54. switch(m_iOccupation)
  55. {
  56. case 0:
  57. strTemp+="程序员";
  58. break;
  59. case 1:
  60. strTemp+="系统工程师";
  61. break;
  62. case 2:
  63. strTemp+="项目经理";
  64. break;
  65. default:
  66. break;
  67. }
  68. pDC->TextOut(0,0,strTemp);
  69. strTemp="你的工作地点:";
  70. strTemp+=m_strWorkAddr;
  71. TEXTMETRIC tm;
  72. pDC->GetTextMetrics(&tm);
  73. pDC->TextOut(0,tm.tmHeight,strTemp);
  74. strTemp="你的兴趣爱好:";
  75. if(m_bLike[0])
  76. {
  77. strTemp+="足球";
  78. }
  79. if(m_bLike[1])
  80. {
  81. strTemp+="篮球";
  82. }
  83. if(m_bLike[2])
  84. {
  85. strTemp+="排球";
  86. }
  87. if(m_bLike[3])
  88. {
  89. strTemp+="游泳";
  90. }
  91. pDC->TextOut(0,tm.tmHeight*2,strTemp);
  92. strTemp="你的薪资水平:";
  93. strTemp+=m_strSalary;
  94. pDC->TextOut(0,tm.tmHeight*3,strTemp);
  95. pDC->SelectObject(pOldFont);
  96. }
  97. /////////////// //////////////////////////////////////////////////////////////
  98. // CPropView diagnostics
  99. #ifdef _DEBUG
  100. void CPropView::AssertValid() const
  101. {
  102. CView::AssertValid();
  103. }
  104. void CPropView::Dump(CDumpContext& dc) const
  105. {
  106. CView::Dump(dc);
  107. }
  108. CPropDoc* CPropView::GetDocument() // non-debug version is inline
  109. {
  110. ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CPropDoc)));
  111. return (CPropDoc*)m_pDocument;
  112. }
  113. #endif //_DEBUG
  114. /////////////////////////////////////////////////////////////////////////////
  115. // CPropView message handlers
  116. void CPropView::OnPropertysheet() 
  117. {
  118. // TODO: Add your command handler code here
  119. CPropSheet propSheet("威信表单程序");
  120. propSheet.SetWizardMode();
  121. //propSheet.DoModal();//这个东西什么时候注销掉的啊》???害死人了。。。
  122. //SetWizardButtons
  123. if(ID_WIZFINISH==propSheet.DoModal())
  124. {
  125. m_iOccupation=propSheet.m_prop1.m_occupation;
  126. m_strWorkAddr=propSheet.m_prop1.m_workAddr;
  127. m_bLike[0]=propSheet.m_prop2.m_football;
  128. m_bLike[1]=propSheet.m_prop2.m_basketball;
  129. m_bLike[2]=propSheet.m_prop2.m_volleyball;
  130. m_bLike[3]=propSheet.m_prop2.m_swim;
  131. m_strSalary=propSheet.m_prop3.m_strSalary;
  132. Invalidate();
  133. }
  134. }