




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十三章 MFC库与Windows程序开发概述清华大学 郑 莉C+语言程序设计2本章主要内容Windows程序的基本结构MFC库简介使用Visual C+开发Windows程序3Windows程序的基本结构开始执行初始化应用初始化和创建应用窗口进入消息循环并从消息队列得到一个消息当前消息是否“退出”?终止执行程序是否定义了对此消息的处理进行默认处理处理消息否否是是4WinMain()函数初始化应用初始化和创建应用窗口进入应用程序的消息循环5窗口过程WndProc()执行窗口的消息处理:分析消息信息,决定应用程序如何处理消息或响应一个事件。6MFC库类库是一个可以在应用程序中使用的相互关联的类的
2、集合。MFC库Microsoft 基本类库是一个Windows应用程序框架,它定义了应用程序的结构,并实现了标准的用户接口:管理窗口、菜单、对话框,实现基本的输入/输出和数据存储。MFC库简介7应用程序框架应用程序框架是一种类库的超集在程序运行时,流程的控制多数是由框架实现的。应用MFC框架来构造应用程序时,程序员的角色就是提供应用程序专用的代码,并指定这些代码是用来响应哪些消息和命令的,以使框架能够在消息和代码间建立联系。MFC库简介8文档视图结构应用程序框架的核心是文档视图结构。MFC通过文档视图结构为应用程序提供一种将数据与视图相分离的存储方式。文档类的作用是将应程序的数据保存在文档类对
3、象中,以及从磁盘文件中读或向磁盘文件中写数据。视图类的作用是显示数据和编辑数据。MFC库简介9使用Visual C+开发Windows程序建立一个应用程序框架观察自动生成的应用程序构造应用程序的用户接口将菜单映射到消息处理函数将工具栏按钮映射到命令测试自己编写的消息处理函数增加对话框初始化、验证和提取对话框中的数据创建新增的类添加现成的组件到应用程序中实现自己的文档类实现Open、Save和Save As命令实现视图类改进缺省的打印增加屏幕滚动创建表单视图创建数据库表单构造(Build)、测试和调试应用程序例:人员信息管理程序用MFC设计一个人员信息管理程序的界面通过对话框输入人员信息在窗口中
4、显示人员信息10Step 1: 建立MFC工程11选中工程类型Step 2: 用向导配置工程12选择应用程序类型Step 3: 添加对话框13资源视图Step 4: 为对话框添加类14输入类名Step 5: 向对话框中添加控件 15Step 5: 向对话框中添加控件 16使用工具箱添加控件在属性列表中设置窗口文字Step 6: 为文本框添加变量17变量名变量类型Step 7: 编辑菜单18添加新的菜单项Step 8: 为菜单项添加事件处理程序19选择事件处理程序所属类Input Data菜单项处理(1)const char * const EMPLOYEE_FILE_NAME = employ
5、ee.txt;void CMy13_1View:OnTestInputdata() Manager m1;Technician t1;SalesManager sm1;Salesman s1;vector employees;employees.push_back(&m1);employees.push_back(&t1);employees.push_back(&sm1);employees.push_back(&s1);CInputDialog input;input.DoModal();/设置姓名m1.setName(input.m_str1.GetString();t1.setName
6、(input.m_str2.GetString();sm1.setName(input.m_str3.GetString();s1.setName(input.m_str4.GetString();20Input Data菜单项处理(2)t1.setWorkHours(input.m_hours); /设置工作时间sm1.setSales(input.m_ss1);/设置本月的销售总额s1.setSales(input.m_ss2);/设置本月销售额ofstream out(EMPLOYEE_FILE_NAME);/创建一个输出文件流对象for (vector:iterator iter =
7、employees.begin();iter != employees.end();+iter) (*iter)-promote();(*iter)-pay(); /计算月薪out getName() “编号” getIndividualEmpNo() “,级别为” getGrade() “级,本月工资 getAccumPay() endl;out.close();21Output Data菜单项处理void CMy13_1View:OnTestOutputdata() ifstream in(EMPLOYEE_FILE_NAME);/创建一个输入文件流对象if (!in) MessageBo
8、x(File doesnt existed!);return;/从文件读入人员信息CClientDC dc(this);int i = 0;while (true) string line;getline(in, line);if (!in) break;dc.TextOut(100, 100, 人员信息管理系统:);dc.TextOut(100, 150 + 30 * (i+), line.c_str();in.close();22Step 9: 添加Employee相关文件将Employee.h和Employee.cpp加入工程在13_1View.cpp中添加下列指令:#include Employee.h#include InputDialog.h#include #include #include using n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025物联网智能家居系统集成效果实证分析与鉴定报告
- 2025年交通设备制造业数字化转型与智能交通服务模式创新报告
- 2025年直播平台内容监管政策与行业自律实践案例报告
- 机场停机坪租用协议合同
- 门面漏水退租协议书范本
- 汽车代卖废铁协议书范本
- 羊肉烩面店转让合同范本
- 签就业协议不填劳动合同
- 特种车玻璃采购合同范本
- 腻子清包工工程合同范本
- 企业突发事件应急处置工作方案
- 护理人文关怀科室汇报
- 《公路建设项目文件管理规程》
- 国家职业技术技能标准 6-30-99-00 工业机器人系统操作员 人社厅发2020108号
- 盲人医疗按摩从业备案申请表(样表)
- DB42∕T 2234-2024 装配型附着式升降脚手架安全技术规程
- 中等职业技术学校人工智能技术应用专业(三年制)人才培养方案
- YDT 5206-2023宽带光纤接入工程技术规范
- DL-T1474-2021交、直流系统用高压聚合物绝缘子憎水性测量及评估方法
- 2024年4月自考05424现代设计史试题
- 快速入门穿越机-让你迅速懂穿越机
评论
0/150
提交评论