Visual C++第03章 MFC基本应用程序的建立
第3章 MFC基本应用程序的建立
C++面向对象程序设计语言是在C语言的基础上发展起来的,它与传统的
程序设计方式不同,而是一种新的程序设计范型。它对降低软件的复杂性,改善其重要性和维护性、提高软件的生产效率,有着十分重要的意义。因此面向对象程序设计被普遍认为是程序设计方法的一场实质性的革命
Visual C++是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C++可视化开发环境,它使C++语言在Windows平台上得到了有效的可视化的应用。
C++编程都是在控制台方式下运行的,这样可以在不需要太多涉及Visual C++的细节而专心于C++程序设计的本身。但是,当C++及程序设计基本掌握后,我们就不能仅停留在控制台方式下运行,因为学习C++的目的在于应用,从本章开始,将着重讨论如何用Visual C++的强大功能开发Windows应用程序。我们将看到,展现在你面前的是彩色亮丽的图形图像及千变万化的可移动的文字、影像界面。像市场流行的游戏软件、企事业管理、图形图像处理、银行、电信、教育及各大小网站的软件编程和网页设计等。
本章一、二节是Windows编程和MFC编程,不是我们重点掌握的,大家可以自己看看,也是有帮助的。我们从第三节(150页):使用MFC AppWizard(应用程序向导)开始讲。前面一、二节中需要大家掌握的是:
1、Windows应用程序上机编程操作步骤(C++上机编程操作步骤,教材140页) 2、理解Windows编程特点中的:消息驱动机制概念、图形设备接口概念、基于资源的程序设计概念、动态连接库概念、进程和线程的概念、阅读147页MFC应用程序并理解其代码(146—149页)(做为讨论题留给大家)
实际上,在Visual C++6.0中,我们不需要加入更多的Windows程序代码,就能创建所需要的应用程序,这就是我们要着重掌握的MFC AppWizard(应用程序向导),它能为用户快速、高效、自动地生成一些常用的标准程序结构和编程风格,它们被称为应用程序框架类型(MFC AppWizard提供的各应用程序框架类型150页说明)其中:MFC AppWizard(exe)是我们常用的(一般MFC的Windows应用程序), 它包含用户最常用、最基本的3种应用程序类型:单文档、多文档和基于对话框的应用程序。所谓单文档应用程序:它的功能比较简单,复杂程度适中,虽然每次只能打开和处理一个文档,但已能满足一般工程上的需要。基于对话框的程序:对比单文档更简单,也是最紧凑的。它没有菜单、工具栏及状态栏,也不能处理文档,但它的好处是速度快,代码少,程序员所花费的开发和调试的时间短。 多文档应用程序:能允许同时打开和处理多个文档。与单文档应用程序相比,增加了许多功能,需要大量额外的编程工作。例如它不仅需要跟踪所有打开文档的路径,而且还需要管理各文档窗口的显示和更新等。总之,无论你选择何种类型的应用程序框架,一定要根据用户自己的具体需要而定。
一、建一个单文档的MFC Windows应用程序,屏幕上出现一个空窗口。
(注意:以后我们所建的应用程序一般都是此应用程序类型) 1、在E盘建一个文件夹,名为:vcpp(存放你建的文件) 2、双击桌面上的Microsoft Visual C++系统:
-->File --> New -->Projects -->MFC AppWizard(exe) 见150页表3.3-->输入路径名vcpp(事先建好的文件夹) -->输入文件名为:“显示窗口“ -->OK 3、选SDI(单文档)-->一直缺省 最后便建立了一个名为:”显示窗口”的单文
档应用程序-->运行! 便出现一个空窗口。
注意:见151---153页的制作过程(缺省各界面的情况)。我们没作任何保存,它自动存在你的文件夹vcpp里,要删除它,找到你的vcpp文件夹里的这个文件就可以删除,以后你的VC++程序文件都要建在这里,千万不要乱建,乱存。
建好的单文档应用程序里面包括4个类(文件): 主框架程序(类)(MainFrm.cpp)、应用程序(类)(程序名.cpp)、视图程序(类)(程序名Wiew.cpp)、文档程序(类)(程序名Doc.cpp)。(见下页有解释)
图3.1 MFC AppWizard的“新建”对话框 MFC AppWizard创建的应用程序框架类型(参见上面图3.1):
ATL COM MFC AppWizard 创建ATL(Active Template Library)应用模块工程 Cluster Resource TypeWizard创建Cluster Resource(用于Windows NT服务器) Custom MFC AppWizard 创建自己的应用程序向导 Database Project 创建数据库应用程序
DevStudio Add-in Wizard 创建ActiveX组件或VBScrip宏
Extended Store Proc Wizard 创建基于SQL服务器下的外部存储过程 ISAPI Extension Wizard 创建Internet Server程序
MakeFile 创建独立于Visual C++开发环境的应用程序 MFC ActiveX ControlWizard 创建ActiveX Control应用程序 MFC AppWizard(dll) MFC的动态连接库
MFC AppWizard(exe) 一般MFC的Windows应用程序 Utility Project 创建简单、实用的应用程序
Win32 Application 其它Win32的Windows应用程序 Win32 Console Application Win32的控制台应用程序 Win32 Dynamic-Link Library Win32的动态连接库 Win32 Static Library Win32的静态连接库 显示窗口程序的运行结果(见书153页图3.12):
二、建一个一般MFC的Windows应用程序,屏幕上出现2行字。 1、双击桌面上的Microsoft Visual C++系统:
-->File --> New -->Projects -->MFC AppWizard(exe) -->输入路径名vcpp(事先建好的文件夹) --->输入文件名为:显示2行字 -->OK?选SDI-->一直缺省? Finish。
2、在View.cpp(视图类)中找到OnDraw(CDC *pDC)函数,写:
CString str1=“ 学好Visual C++走遍天下”;
CString str2=“ 改革开放的28年颂歌!南山学院好!”; pDC->TextOut(0,0,str1); pDC->TextOut(0,20,str2);
(添写代码情况,见下图3.2)
运行后窗口显示如上添加的2行字,如果显示带颜色的图形、文字等,以后会逐步学到。
? OnDraw(CDC *pDC)函数是视图类中的显示函数
? CDC是设备环境类(在Visual C++5轻松进阶书56页中,有好多它的对象方法),对象方法也叫函数,*pDC是CDC的指针对象 ? CString是处理字符的类。
? TextOut(x,y,str)是CDC类的显示函数(函数也叫对象方法),参数x,y是字符串在窗口中的显示位置(x y坐标),str是已定义和赋好值的字符串。
图3.2 Visual C++开发环境界面
1、标题栏 2、菜单栏 3、工具栏 4、项目工作区窗口 5、输出窗口 6、输出窗口标签 7、状态栏 8、文档窗口 三、理解程序框架
本部分是留给大家的课后学习、讨论题,一定通过上机,真正理解MFC程序的4个主要的类:应用程序类、文档类、视图类、主框架类。(这里只介绍应用程序类)
打开项目工作区里的ClassView或FileView可以看到MFC为我们自动创建了以下几个主要的类:
1、 文件名App.h (cpp)应用程序类
CMyApp的基类是CWinApp,而CWinApp的基类又是CWinThread,CWinThread类是用来完成对线程(见后面的名词解释)的控制,包括对线程的创建、运行、终止和挂起等。它实际上是Windows首先运行的内容,当这 …… 此处隐藏:5092字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C