网站大量收购独家精品文档,联系QQ:2885784924

[Windows程序设计—MFC编程和操作.pptVIP

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[Windows程序设计mdash;MFC编程和操作[Windows程序设计mdash;MFC编程和操作[Windows程序设计mdash;MFC编程和操作

第三章 MFC编程和操作;3.1 Windows编程;分析: Windows应用程序中,main主函数被WinMain函数取代。 每一个C++ Windows应用程序都需要Windows.h头文件,它还包含了其他的一些Windows头文件。这些头文件定义了Windows的所有数据类型、函数调用、数据结构和符号常量。 程序中结果的输出已不再是显示在屏幕上,而是通过对话框(如MessageBox)来显示或将结果绘制在用户界面元素上。 参见一个比较完整的Windows应用程序Ex_HelloWin;3.1.2 Windows编程特点 1. 消息驱动机制 C++控制台应用程序是通过调用系统函数来获得用户输入的,而Windows应用程序则是通过系统发送的消息来处理用户输入的。;图形设备接口 Windows提供了一个抽象的接口,称为图形设备接口(Graphical Device Interface,简称GDI),使得用户直接利用系统的GDI函数就能方便实现输入或输出,而不必关心与系统相连的外部设备的类型。;3. 基于资源的程序设计 Windows应用程序常常包含众多图形元素,在Windows环境下,每一个这样的元素都作为一种可以装入应用程序的资源来存放。这些资源就像C++程序中的常量一样,可以被编辑、修改,也可以被其他应用程序所共享。 4. 动态链接库 动态链接库提供了一些特定结构的函数,能被应用程序在运行过程中装入和连接,且多个程序可以共享同一个动态链接库,这样就可以大大节省内存和磁盘空间。; 5. 进程和线程 进程是装入内存中正在执行的应用程序。进程包括私有的虚拟地址空间、代码、数据及其它操作系统资源,如文件、管道以及对该进程可见的同步对象等。进程包括了一个或多个在进程上下文内运行的线程。 线程是操作系统分配CPU时间的基本实体。线程可以执行应用程序代码的任何部分,包括当前正在被其它线程执行的那些部分。同一进程的所有线程共享同样的虚拟地址空间、全局变量和操作系统资源。;3.1.3 Windows基本数据类型 基本数据类型的别名: 这些基本数据类型都是以大写字符出现 凡是数据类型的前缀是P或LP,则表示该类型是一个指针或长指针数据类型。如果前缀是H,则表示是句柄类型。若前缀是U,则表示是无符号数据类型,等等。 Windows还提供一些宏来处理???述基本数据类型。例如,LOBYTE和HIBYTE分别用来获取16位数值中的低位和高位字节;LOWORD和HIWORD分别用来获取32位数值中的低位和高位字;等等。;Windows所用的数据类型;句柄类型;3.2 MFC编程; CObject类是MFC提供的绝大多数类的基类。该类完成动态空间的分配与回收,支持一般诊断、出错信息处理和文档序列化等。 CCmdTarget类主要负责将系统事件(消息)和窗口事件(消息)发送给响应这些事件的对象,完成消息发送、等待和派遣(调度)等工作,实现应用程序的对象之间协调运行。 CWinApp类是应用程序的主线程类,它是从CWinThread类派生而来。 CWinThread类用来完成对线程的控制,包括线程的创建、运行、终止和挂起等。; CDocument类是文档类,包含了应用程序在运行期间所用到的数据。 CWnd类是一个通用的窗口类,用来提供Windows 中的所有通用特性、对话框和控件。CFrameWnd 类是从 CWnd 继承来的,并实现了标准的框架应用程序。 CDialog 类用来控制对话框窗口。 CView 是用于让用户通过窗口来访问文档。 CMDIFrameWnd和CMDIChildWnd类分别用来多文档应用程序的主框架窗口和文档子窗口的显示和管理。CMiniFrameWnd类是一种简化的框架窗口,它没有最大化和最小化窗口按钮,也没有窗口系统菜单,一般很少用到它。;3.2.2 一个MFC程序 参见程序Ex_HelloMFC; 3.2.3 理解程序代码 当用户运行应用程序时,Windows会自动调用应用程序框架内部的WinMain函数,并自动查找该应用程序类CHelloApp(从CWinApp派生)的全局变量theApp,然后自动调用CHelloApp的虚函数InitInstance,该函数会进一步调用相应的函数来完成主窗口的构造和显示工作。(1) 首先执行的是: m_pMainWnd = new CMainFrame(); (2) 然后执行后面两句: m_pMainWnd-

文档评论(0)

wuyuanli + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档