




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章 应用程序开发步骤31 应用程序文件的组成1 源程序文件(.C或.CPP)2 头文件(.H)3 模块定义文件(.DEF)4 资源描述文件(.RC)例如:常见菜单的定义/菜单.rcMenu MENU POPUP “文件(&F)” /该弹出式菜单各选项定义 POPUP “编辑(&E)” /该弹出式菜单各选项定义 MENUITEM “帮助(&H)”,IDM_HELP Menu ACCELERATORS /各选项加速键的定义 5 项目文件32 开发应用程序的基本步骤开发Windows应用程序的一般过程用下图说明:3.3 VC环境下开发步骤 一般包括以下三个步骤:1 采用AppWizard建立应用程序基本框架。2 采用ClassWizard建立消息映射。3 编译生成应用程序的可执行文件。 331 采用AppWizard建立应用程序基本框架 采用Visual C 6.0 AppWizard 开发Windows应用程序的步骤如下: (实例演示) 1Csample1App类Csample1App类是CwinApp的派生类,类Csample1App的功能是创建一个应用程序类的全局对象,并完成应用程序的初始化工作。VC集成开发环境为Csample1App类创建了Sample1.h和Sample1.cpp两个文件,其中包含类的定义和类的功能实现体。Sample1.h文件中类Csample1App的定义形式如下(见程序):在类Csample1App中定义了虚函数InitInstance,其功能是初始化应用程序并显示应用程序的主窗口,程序必须在类的实现体中通过重 该函数实现其功能。 Sample1.cpp文件中类Csample1App的功能实现形式如下(见程序):Sample1.cpp文件包含声明需要处理的消息和定义相应的消息处理函数,定义包含类初始化工作的类构造函数,定义该应用程序的全局变量theApp及定义InitInstance函数。InitInstance函数包括:(1) 设置应用程序注册表键。(2) 加载标准INI文件选项。(3) 定义并加载应用程序文档模板。(4) 命令行操作初始化。(5) 显示窗口。其中文档模板的作用是为应用程序的文档(DOC)、视(VIEW)和框架(MAINFRAME)关联,使三者能够协调一致地工作。应用程序框架运行后首先调用其内部封装的WinMain函数。WinMain函数查找应用程序的全局变量theApp,随后运行该应用程序对象的初始化函数InitInstance完成应用程序的初始化,最后运行应用程序对象的RUN函数(Csample1App类继承CwinApp的成员函数)启动应用的消息循环。2 CMainFrame类CMainFrame类是CFrameWnd类的派生类,主要功能是构造应用程序主窗口的特征。CMainFrame类定义(MainFrame.h)形式如下(见程序):CmainFrame中包含成员函数PreCreateWindow,该函数提供窗口属性的初始功能。其参数为CREATESTRUCT变量cs,程序员可通过设置cs结构成员的取值初始化应用程序的窗口。3 Csample1Doc类和Csample1View类视文档是VC应用程序开发的显著特点,其核心思想是分离应用程序中的数据与数据表现形式。应用程序中数据相对稳定,而数据的表现形式则多种多样。例如,对于一组统计数据可有其它图表和直方图等多种表现形式。视文档为应用程序提供了更为有效的数据管理方法:采用文档类和视类分别完成数据的存储和显示工作。(1)CSample1Doc类CSample1Doc类是CDocument类的派生类,Sample1Doc.h 文件包含该类的定义,其形式如下(见程序):除类的构造函数、析构函数及系统调试函数外,CSample1Doc类的定义中还包含成员函数OnNewDocument和Serialize的定义。应用程序框架新建一个文档时产生文档建立消息,OnNewDocument函数即为该消息的处理函数。程序可以在该函数的实现部分添加相应代码重新初始化文档,该函数在Sample1Doc.cpp文件中的实现形式如下(见程序): Serialize函数是CSample1Doc类中最重要的成员,该函数完成文档中数据存储和提取工作。该函数在Sample1Doc.cpp文件中的实现形式如下(见程序):(2)CSample1View类 CSample1View 类是CView类的派生类,Sample1Doc.h 文件包含该类的定义,其形式如下(见程序): 类CSample1View的成员函数OnDraw 是应用程序绘图操作核心处理函数,应用程序的窗口改变时即调用OnDraw函数更新窗口。该函数在Sample1View.cpp文件中的实现形式如下(见程序):332 采用ClassWizard建立消息映射 建立应用程序框架后,需要建立应用程序的消息响应机制。即建立消息映射。建立应用程序消息映射机制需完成发下三个步骤: 1 定义消息映射消息映射的定义形式如下:BEGIN_MESSAGE_MAP(ClassName,FatherClassName) /AFX_MSG_MAP(ClassName) /消息映射定义 /AFX_MSG_MAPEND_MESSAGE_MAP 在消息映射架中常见如下三种类型的消息定义:(1) 命令消息ON_COMMAND(消息ID,消息处理函数名);(2) 更新消息ON_UPDATE_COMMAND_UI(消息ID,消息处理函数名);(3) 自定义消息ON_MEAASGE(消息ID,消息处理函数名); 2 声明消息处理函数 消息处理函数必须在相应头文件中定义。 3 定义消息处理函数 在消息处理函数中增加相应代码以完成对消息的响应。 通过ClassWizard建立消息映射。 ClassWizard自动完成了消息映射定义,消息处理函数的声明并引导程序员在指定位置添加处理过程。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 双节前安全知识培训会课件
- 2025银行经济类面试题及答案
- 叉车司机安全教育培训
- 2025银行放贷面试题及答案
- 合格团员课件
- 双相情感障碍相关课件
- 2025人力银行面试题及答案
- 生物学科中考专项测试卷
- 小学信息技术五年级教案设计
- 中学德育主题班会教学课件制作
- 基础化学(第五版)课件 第一章 物质结构基础
- 化疗药物使用顺序课件
- 福州市晋安区社区工作者招聘笔试真题2024
- 教学课件模板美术
- 抑郁症的患者护理查房
- 2024年一建水利水电真题答案
- 主播岗位职业生涯规划与管理
- 老年综合评估各种表格
- 2025至2030中国牙科手机消耗行业项目调研及市场前景预测评估报告
- NBT 11551-2024 煤矿巷道TBM法施工及验收标准
- 口腔瓷贴面诊疗沟通指南
评论
0/150
提交评论