C2B2B教程2C从入门到精通2Ccha.ppt_第1页
C2B2B教程2C从入门到精通2Ccha.ppt_第2页
C2B2B教程2C从入门到精通2Ccha.ppt_第3页
C2B2B教程2C从入门到精通2Ccha.ppt_第4页
C2B2B教程2C从入门到精通2Ccha.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

创建MFC Windows应用程序,什么是MFC Windows程序设计基础 单文档应用,什么是MFC,MFC的优点 MFC的功能 如何使用 MFC,什么是MFC,MFC是指Microsoft 基础类库(Microsoft Foundation Class Library)。 这个类库是在 Microsoft Windows 中进行程序设计的应用程序框架。MFC的所有代码都是用 C+ 编写的,并提供了许多代码以方便程序设计人员完成各种任务,例如管理窗口、菜单和对话框,执行基本输入/输出,存储数据对象集合等。程序设计人员只须将自己要创建的应用程序的相关代码添加到这个框架中就可以完成相关功能。由于C+具有面向对象程序设计的性质,所以可以容易地扩展或重写MFC框架所提供的各种基本功能。,MFC的优点,首先,MFC 缩短了开发时间,使代码的可移植性更强,并在提供了巨大程序设计支持的同时不降低编程的自由度和灵活性; 其次,它使程序员可以轻松地使用一些通常认为是很难掌握的用户界面元素和技术(如 ActiveX 技术、OLE 和 Internet 编程); 另外,MFC 简化了通过数据访问对象 (DAO) 和开放式数据库连接 (ODBC) 进行的数据库编程,以及通过 Windows 套接字进行的网络编程。,MFC的功能,MFC除了从根本上支持 Microsoft Windows 程序设计之外,还提供了许多专业化支持OLE、自动化、ActiveX 控件、Internet 程序设计、Windows 公共控件、DAO 数据库程序设计、ODBC 数据库程序设计、多线程程序设计、网络程序设计、可移植性等。 但是,MFC作为一种通用的编程框架,并不能预见每一位程序设计人员的每一个需求。因此,如果要使用MFC来生成符合特定需求的程序,还必须添加自己的代码。 另外,MFC并不是C+的运行时库。它不是通用函数库,也不能在另外的非 MFC 代码中调用 MFC 类成员函数。,如何使用 MFC,在创建MFC应用程序时可以使用Visual C+ .NET所提供的“MFC 应用程序向导”来为应用程序创建应用程序框架,还可以根据要创建的应用程序的特性修改向导的相应选项。 然后使用 Microsoft Visual C+ .NET提供的资源编辑器来以可视的方式设计用户界面的各个元素,使用“类视图”为这些元素添加相关代码,并使用类库实现应用程序的特定逻辑,Windows程序设计基础,创建一个最简单的Windows程序 程序运行流程分析 框架窗口类 文档模板,视图类 文档/视图结构 程序员的工作,Windows程序设计基础,在MFC框架中,最重要的两个概念就是文档(Document)和视图(View)。在使用MFC框架编写Windows应用程序时,程序员最常编写的部分就是文档类和视图类,文档和视图,把一个应用分成文档和视图的结构是基于MFC框架应用程序的一个重要特征。它的实质就是将数据本身与用户对数据的观察和操作分离开来,所有的数据变化都在文档类中进行管理,同时为视图的访问提供一个接口。而视图则调用这个接口来响应用户的操作,进行数据修改,并不断更新文档的显示。由此可知,允许一个文档拥有多个视图。,创建一个最简单的Windows程序,打开Microsoft Visual Studio .NET 2003,然后执行“文件”|“新建”|“项目”命令,打开“新建项目”对话框。 在这个对话框的左边展开“Visual C+项目”节点,选中MFC节点,在右边选择“MFC应用程序”,并在下面的两个文本框中分别输入要建立的应用的名称和希望放置应用程序的路径 在设置完成之后,单击“确定”按钮,进入“MFC应用程序向导”。,框架窗口类,CMainFrame类是MFC为应用程序的主框架窗口创建的派生的框架窗口类,它定义了应用程序的界面特性,包括菜单、工具栏和状态栏。 如果应用程序是单文档的(称为SDI),则CMainFrame 类从CFrameWnd 类派生;如果应用程序是多文档的(称为MDI),则CMainFrame 类从CMDIFrameWnd 类派生。,程序的执行流程,在BOOL CMyApp:InitInstance函数中会有一段代码用于在创建一个新的运行实例时,让系统根据文档模板生成新的对象,包括CMainFrame对象、CMyDoc对象和CMyView对象。而CMainFrame对象就是应用的主框架窗体对象。由于CMyApp:InitInstance函数是在程序初始化的时候运行的,所以所有的创建过程都会在程序初始化时完成。 在创建CMainFrame对象时,系统会向主框架窗口发一条WM_CREATE消息,要求创建主框架窗口,而主框架窗口会调用OnCreate函数来处理这个消息。OnCreate函数是CMainFrame定义的,作用是对主框架窗口进行初始化。然后系统调用CWnd类定义的ShowWindow函数,将主框架窗口显示在屏幕上,此函数调用也是在CMyApp:InitInstance函数中实现的。,文档模板,在10-01.cpp中定义的BOOL CMyApp:InitInstance函数中,有一段代码用于使用文档模板创建新的对象,这些对象包括CmainFrame, CmyDoc和CmyView 3个新的对象。,文档类,文档是指一组数据的集合。在MFC中,文档负责存储数据和管理数据的打印,并可以协调和更新多个数据视图。 实现文档操作的类是CDocument,它作为基类产生了很多的派生类用于实现文档数据的读写操作。,视图类,视图用于显示数据并管理用户与数据之间的交互,包括选择和编辑。视图负责在屏幕上显示一个文档,解释用户的输入并对文档进行相应的操作,还可以显示图像用以打印和打印预览。 MFC使用CView类来实现视图。它的很多派生类支持不同类型的窗口。 CScrollView可以实现滚动条 CFormView可以实现表格 CEditView可以实现文本编辑。,文档/视图的核心,CDocument类 用于存储或控制程序数据,并为程序员定义的文档类提供基本功能。 CView类 是程序员定义的视图类的基类。视图附加到文档上用于在屏幕上呈现文档的图像,并将用户输入解释为对文档的操作。视图还为打印和打印预览呈现图像。 CframeWnd类 用于在文档的一个或多个视图周围提供框架。 CDocTemplate(或 CsingleDocTemplate和CMultiDocTemplate)类 负责协调给定类型的一个或多个现有文档,并负责创建此类型的正确文档、视图和框架窗口对象。,文档和视图之间的关系,单文档应用,单文档类型和多文档类型 消息驱动 创建Hello World程序,单文档类型和多文档类型,单文档类型指在文档上具有单个视图,而且每个文档只有一个框架窗口的文档类型。 多文档类型则可以同时处理几个不同的文档。 实现单文档类型的界面称为单文档界面(SDI),这种应用程序一次只允许打开一个窗口的实例。 实现多文档类型的界面称为多文档界面(MDI),这种应用程序允许通打开一个窗口的多个实例。,消息驱动,程序需要处理的消息 Windows消息 此类消息主要包括除了WM_COMMAND之外的以前缀 WM_开头的消息。 控件通知 指从控件和其他子窗口向自己的父窗口发送的 WM_COMMAND 通知消息。 命令消息 指用户界面对象(菜单、工具栏按钮和快捷键)发出的 WM_COMMAND 通知消息。,创建Hello World程序,现场创建讲解,创建一个简单的文本编辑器,现场创建讲解,多文档应用,MFC创建的MDI应用程序的结构 增强文本编辑器的功能,MF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论