(3)在ClassWizard里面利用消息映射(Message Maps)在对应类中(如*View)添加对WM_KEYDOWN的响应函数。 添加下面阴影部分的代码。
void CDemo1View::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { // TODO: Add your message handler code here and/or call default //获取文档类的指针 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\//在客户区显示姓名和学号 pDC->TextOut(0,0,message);
// TODO: add draw code for native data here
(5)调试运行。
按键盘里的向上键时学号递增,向下键时学号递减。
【程序2:单文档综合程序】
(1) 选择“文件”?“新建”菜单,在弹出的“新建”对话框中选择“工程”标签,选择MFC AppWizard(exe)的项目类
型,指定项目工作文件夹位置,输入项目名Ex_SDI2,单击[确定]按钮。
(2) 在向导的第一步中,将应用程序类型选为“单个文档”。
(3) 单击[下一个]按钮,出现向导的第二步对话框,在这里用户可以选择 程序中是否加入数据库的支持。
(4) 单击[下一个]按钮,出现向导的第三步对话框,允许用户在程序中加入复合文档、自动化、ActiveX控件的支持。
(5) 单击[下一个]按钮,出现向导的第四步对话框,对话框的前几项依次确定对浮动工具条、打印与预览以及通信网络等特性的支持。
(6)单击[高级]按钮,出现下图所示的对话框,分别用于文档模板字串资源内容和窗口风格的修改。