Windows程实验6报告_甘加升.docxVIP

  • 1
  • 0
  • 约5.23千字
  • 约 11页
  • 2017-05-15 发布于贵州
  • 举报
Windows程实验6报告_甘加升

武汉轻工大学 Windows编程实验报告 题 目: 文档与视图 专 业: 软件工程 班 级: 软件工程1202 学 号: 1205110519 姓 名: 江师朗 指导老师: 刘文涛 2014年12月28日 [程序1:] 文档数据和视图显示。 编写单文档程序,为文档对象添加数据成员recno(int类型),表示学号,stuname(CString类型)表示姓名,并在视图中输出文档对象中的内容。要求当按向上箭头或按向下箭头时,学号每次递增1或递减1,能在视图中反映学号变化。 实验步骤: (1)首先建立一个单文档程序。 (2)在文档类添加类的成员变量。 头文件: public: int recno; CString stuname; 并在实现文件里构造函数中初始化: CDemo1Doc::CDemo1Doc() { // TODO: add one-time construction code here recno=1; stuname=慕火; } (3)在ClassWizard里面利用消息映射(Message Maps)在对应类中(如*View)添加对WM_KEYDOWN的响应函数。 添加下面阴影部分的代码。 void CDemo1View::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { //获取文档类的指针 CDemo1Doc* pDoc = GetDocument(); switch(nChar) { case VK_UP://上 //学号递增 pDoc-recno++; break; case VK_DOWN: //下 //学号递减 pDoc-recno--; break; } //刷新客户区,重新绘制 Invalidate(); CView::OnKeyDown(nChar, nRepCnt, nFlags); } (4)在视图类的OnDraw函数实现在客户区显示姓名和学号。 添加下面阴影的代码: void CDemo1View::OnDraw(CDC* pDC) { CDemo1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); CString message; message.Format(学号:%d,姓名:%s,pDoc-recno ,pDoc-stuname); //在客户区显示姓名和学号 pDC-TextOut(0,0,message); } (5)调试运行。 按键盘里的向上键时学号递增,向下键时学号递减。 【程序2:单文档综合程序】 实验步骤: (1)添加一个描述学生信息的类。 选择vc++的菜单project-》Add to Project-》New,新建一个头文件StudentInfo.h Student代码: //StudentInfo.h 文件内容 class CStudentInfo : public CObject { CString strName; // 姓名 CString strNO; // 学号 BOOL bMale; // 性别,是否为男 CTime tBirth; // 出生年月 CString strSpecial; // 专业 DECLARE_SERIAL(CStudentInfo) // 序列化声明 public: CStudentInfo() {}; CStudentInfo(CString name, CString id, BOOL male, CTime birth, CString special); void Serialize(CArchive ar); void Display(int y, CDC *pDC); // 在坐标为(0,y)处显示数据 }; (2)选择vc++的菜单project-》Add to Project-》New,新建一个实现文件StudentInfo.cpp //StudentInfo.cpp 文件内容 #include stdafx.h #include StudentInfo.h CStudentInfo::CStudentInfo(CString

文档评论(0)

1亿VIP精品文档

相关文档