160 likes | 369 Views
第 9 章 Visual C++ 的 Windows 编程基础. 本章主要内容. Windows 编程基础 用 MFC 创建 Windows 应用程序 利用 AppWizard 生成 MFC 应用程序. Windows 编程基础. Windows 操作系统是一个多任务、面向对象的图形操作系统。 在 Windows 操作环境中, Windows 应用程序采用“基于消息的事件驱动”运行机制,这是它与过去的面向过程的应用程序机制的不同之处。. 窗口. 窗口是由应用程序创建的一个用于接收用户输入和显示输出的矩形区域。 窗口由“非客户区”和“客户区”组成。
E N D
本章主要内容 • Windows编程基础 • 用MFC创建Windows应用程序 • 利用AppWizard生成MFC应用程序 《面向对象技术与Visual C++》--第9章
Windows编程基础 • Windows操作系统是一个多任务、面向对象的图形操作系统。 • 在Windows操作环境中, Windows应用程序采用“基于消息的事件驱动”运行机制,这是它与过去的面向过程的应用程序机制的不同之处。 《面向对象技术与Visual C++》--第9章
窗口 • 窗口是由应用程序创建的一个用于接收用户输入和显示输出的矩形区域。 • 窗口由“非客户区”和“客户区”组成。 • 非客户区由系统绘制,包括菜单、工具栏、最大化按钮等。客户区由应用程序绘制,用于输出数据和接受用户的输入。 • Windows应用程序可以有多个窗口,每一个窗口都可以具有不同的功能。 《面向对象技术与Visual C++》--第9章
事件和消息 • Windows操作环境中,无论是系统产生的动作或是用户运行应用程序产生的动作,都称为事件产生的消息。 • Windows应用程序利用消息与其他的Windows应用程序及Windows系统进行信息交换。 • Windows 的消息由三部分组成:消息号、字参数和长参数。 • 消息号是预先定义的消息名标志符 • 字参数和长参数是与消息号相关的值,提供一些附加信息。 《面向对象技术与Visual C++》--第9章
句柄 • Windows应用程序中,句柄是标识诸如菜单、图标、窗口、内存块、输出设备等对象的标识符号,Windows系统的各种资源都是通过句柄来访问的。 • 句柄是作为Windows系统内部表的索引值来使用的,而并非对象所在的内存地址。 • 通过句柄只能够安全的访问对象,而不能直接访问对象的内部结构。 《面向对象技术与Visual C++》--第9章
GDI简介 • 许多MS-DOS程序都直接向视频存储区或打印机端口输送数据,这样做就需要为不同的输出设备编写不同的程序。 • Windows提供了一个抽象的图形界面接口,称为图形设备界面,或简称GDI。 • 它组成了Windows操作系统的核心部分。 《面向对象技术与Visual C++》--第9章
设备环境 • 设备环境(Device Context),也被称为DC,是由GDI保存的一个数据结构,设备环境包含了输出设备的绘图特征。 • 不同设备有不同的设备环境,在输出设备上输出的先决条件是获得该设备的设备环境。 《面向对象技术与Visual C++》--第9章
画笔 • 画笔指的是一种用于画线及绘制有形边框的工具,用户可以指定它的颜色及宽度,并且可以指定它画实线、点线或虚线等。 • 画刷定义了一种位图形式的像素,利用它可对封闭区域内部填充颜色或样式。 • 字体是一种具有某种风格和尺寸的所有字符的完整集合。 《面向对象技术与Visual C++》--第9章
资源 • 光标、位图、对话框和菜单都是资源。资源即数据,包含在应用程序的.exe文件中。 • 当 Windows把程序装入内存执行的时候,它通常将资源留在磁盘上。 • 只有当Windows需要某一资源时,它才将资源装入内存。资源在资源描述文件中定义。 • 资源描述文件是以.rc为扩展名的ASCII码文件。资源描述文件可以包含用ASCII码表示的资源,也可以引用其他资源描述文件(ASCII或二进制文件)。 《面向对象技术与Visual C++》--第9章
Windows 环境下的资源主要有以下几类:加速键、工具栏、光标、对话框、图标、字符串和菜单等。 • Visual C++为所有类型的资源都提供了资源编辑器进行可视化的编辑。 《面向对象技术与Visual C++》--第9章
Windows编程中的常用基本数据结构 《面向对象技术与Visual C++》--第9章
用MFC创建Windows应用程序 • MFC的框架结构提供如下优点: MFC按照C++类的层次形式组织在一起, 类封装了Windows API函数并提供Windows应用程序常见任务的缺省处理代码。几个基类提供一般功能,由基类派生的类实现更具体的行为。 MFC提供了文档和视图模型以实现数据和显示的分离。文档类(Document)用来维护、管理数据,包括数据的读取、存储与修改;视图类(View)用来接收并显示数据,将这些数据交给文档类来处理。 MFC库提供了自动消息处理功能。MFC的框架结构通过消息映射机制,将Windows消息直接映射到一个成员函数进行处理, 简化了消息的处理方式。 《面向对象技术与Visual C++》--第9章
MFC类的层次结构 • MFC类库是一个功能强大、结构复杂和庞大的类库。 • MFC的类可以分为两种:从CObject派生的类及非CObject派生类。 • MFC有100多种类。 《面向对象技术与Visual C++》--第9章
Windows应用程序类型 • 用Visual C++创建MFC程序的典型结构一共有三种: • 单文档应用程序 • 多文档应用程序 • 对话框应用程序 《面向对象技术与Visual C++》--第9章
利用AppWizard生成MFC应用程序 • 例9-1 示例用AppWizard向导生成MFC应用程序 。 《面向对象技术与Visual C++》--第9章