收藏 分享(赏)

《Visual_C++程序设计教程》第三章MFC中的资源与界面设计.ppt

上传人:精品资料 文档编号:11247180 上传时间:2020-02-28 格式:PPT 页数:39 大小:167.50KB
下载 相关 举报
《Visual_C++程序设计教程》第三章MFC中的资源与界面设计.ppt_第1页
第1页 / 共39页
《Visual_C++程序设计教程》第三章MFC中的资源与界面设计.ppt_第2页
第2页 / 共39页
《Visual_C++程序设计教程》第三章MFC中的资源与界面设计.ppt_第3页
第3页 / 共39页
《Visual_C++程序设计教程》第三章MFC中的资源与界面设计.ppt_第4页
第4页 / 共39页
《Visual_C++程序设计教程》第三章MFC中的资源与界面设计.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、第 3章 MFC中的资源与界面设计当用户打开一个软件时,首先接触到的就是界面,因此,软件设计中界面是否友好是该软件成败的一个重要因素。 MFC自动生成的 SDI有一个比较完整的界面,具有菜单栏、状态栏等基本元素,还可以打开对话框等。然而,如何对这个界面进行修改,使其实现更多的功能或使其看起来更加美观,这就涉及对 MFC的资源的操作。3.1 MFC基础知识n MFC( Microsoft Foundation Classes,微软基础类库)是 Microsoft为帮助用户处理那些经常使用但复杂、繁琐的Windows操作而设计的一套基础类库。MFC把 Windows编程规范中的大多数内容封装成为各

2、种类,又称为 MFC程序框架。3.1.1微软基础类库 MFCn 1.MFC概述n MFC中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上建立 Windows下的应用程序,这是一种相对 SDK来说更为简单的方法。总体上, MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。 Microsoft Visual C+提供了相应的工具来完成这个工作: AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助程序员直观地设计用户接口; ClassWizard用来协助将代码添

3、加到框架文件中;编译则是通过类库实现了应用程序特定的逻辑。n 2.MDI应用程序的构成n 用 AppWizard产生一个 MDI工程(无 OLE等支持)时, AppWizard创建了一系列文件,构成了一个应用程序框架。这些文件分4类:头文件( .h)、实现文件 (.cpp)、资源文件 (.rc)和模块定义文件 (.def)。图 3-2解释了该应用程序的结构,箭头表示信息流向。n 1)应用程序n 应用程序类派生于 CWinApp。基于框架的应用程序必须有且只有一个应用程序对象,它负责应用程序的初始化、运行和结束。n 2)边框窗口n 边框窗口用来管理文档边框窗口、视窗口、工具条、菜单、快捷键等,并

4、协调半模式状态(如上下文的帮助和打印预览)。n 3)文档边框窗口n 文档边框窗口类从 CMDIChildWnd类派生, MDI应用程序使用文档边框窗口来包含视窗口。n 4)文档n 文档类从 CDocument类派生,用来管理数据,数据的变化、存取都是通过文档实现的。视窗口通过文档对象来访问和更新数据。n 5)视图n 视图类从 CView或它的派生类派生。视图和文档联系在一起,在文档和用户之间起中介作用,即视图在屏幕上显示文档的内容,并把用户的输入转换成对文档的操作。n 6)文档模板n 文档模板类一般不需要派生。 MDI应用程序使用多文档模板类 CMultiDocTemplate, SDI应用程

5、序使用单文档模板类CSingleDocTemplate。n 应用程序通过文档模板类对象来管理上述对象(应用程序对象、文档对象、主边框窗口对象、文档边框窗口对象和视图对象)的创建。3.1.2 常用的 MFC文件n 利用应用程序向导创建 MFC应用程序时,程序标准功能的实现借助了 MFC的类定义文件, MFC应用程序框架中的 stdafx.h头文件中包含了定义 MFC类的头文件。此外, MFC应用程序框架还需使用 Windows本身提供的功能文件和 API函数。 MFC应用程序中常用到的 MFC文件和 Windows系统提供的 LIB库文件功能如表 3-1所示。3.1.3 MFC消息管理n 1.消

6、息映射的定义和实现 n 根据所处理函数和过程的不同, MFC主要处理以下 3类消息。n ) Windows消息n )控制通知消息n )命令消息n 2.MFC消息映射的实现方法n 在类的定义(头文件)里增加了消息处理函数声明,并添加一行声明消息映射的宏DECLARE_MESSAGE_MAP。n 在类的实现(实现文件)里实现消息处理函数,并使用 IMPLEMENT_MESSAGE_MAP宏实现消息映射。一般情况下,这些声明和实现是由MFC的 ClassWizard自动维护的。n 3.消息的发送n Windows应用程序中不同对象之间或不同应用程序之间都可以相互发送消息,甚至 Windows应用程序

7、可以向 Windows操作系统发送消息。将消息发送到一个窗口可以采用传送和寄送两种方式,它们的主要区别是消息被接收对象收到后是否立即被处理。根据两种方式的不同,Windows提供了多个 API函数用于消息的发送,其中常用的是 SendMessage()、PostMessage()和 SendDlgItemMessage()。3.2 了解各类资源n 开发 Windows程序与 DOS程序的不同之处就在于,前者可以使用各种资源(resource),后者则不可以。 Windows资源可以用于创建应用程序的用户界面 ,包括菜单、工具栏、对话框、图标、位图、光标、快捷键和串表等。3.2.1 资源简介n

8、在 Windows环境下,资源作为一种数据与程序代码是分离的,可以单独编译。并且,由于资源通常占用较大的内存空间,因此一般应用程序只有在需要使用资源时才将需要的资源调入内存。3.2.2 快捷键n 快捷键可以利用键盘输入方式代替菜单或工具栏命令。快捷键一般是两个或三个键的组合,如 Ctrl+C、 Ctrl+Alt+S等。利用快捷键编辑器可编辑、添加和删除应用程序的快捷键。在工作区的ResourceView页面打开 Accelerator文件夹,双击其中的快捷键资源,就会弹出如图 3-3所示的快捷键编辑器。 3.2.3 对话框n 对话框是 Windows图形界面的主要组成部分之一,在编程中经常会用

9、到对话框。对话框的主要功能是发送消息、接收用户输入的消息和作为其他一些控件的容器,一般用于需要用户输入或者需要和用户进行交互的场合。n 对话框可分为模式对话框和非模式对话框两大类。模式对话框不允许用户在对话框关闭之前操作应用程序的其他窗口,也就是说模式对话框在打开后就接管了父窗口的输入控制权,直到它被关闭。而非模式对话框则允许用户在该对话框和应用程序的其他窗口之间切换。n 非模式对话框是指对话框可以一直出现在屏幕上,随时可用,并且允许应用程序处理对话框以外的用户事件。n 实际上,对非模式对话框的操作同应用程序中的其他任何窗口的操作是一样的。3.2.4 图标n 在 Windows中,每个文件都有

10、一个图标。应用程序的图标可以出现在程序标题栏的左上角、 Windows桌面上、资源管理器窗口中和 Windows底部的任务栏上。图标可以方便用户对文件的浏览和查找。n 图标实质上是特殊形式的位图,但图标与位图又有两个不同之处。首先,图标大小尺寸只能有 3种,一种是用于程序标题栏和 Windows任务栏的 1616图标,另外两种是用于桌面、资源管理器的3232和 4848图标。另一个不同之处在于,设计图标时可以指定像素的颜色为屏幕或屏幕反转色。在如图 3-5所示的图形编辑器中可设置图标尺寸和颜色。3.2.5 位图n 位图是一个与显示像素对应的点阵结构,它由一系列按位排列的数据组成,这些数据分别表

11、示各个像素点的颜色信息。位图的颜色数目与用来存放颜色数据的位数直接相关,常见的有色、色、 16色、 256色、增强色( 16位)和真彩色( 32位和 24位)等。 Windows支持两种类型的位图:设备相关位图( Device Dependent Bitmap,DDB)和设备无关位图(Device Independent Bitmap, DIB)。n 位图有不同的颜色深度,这主要是因为在位图数组中存储颜色数据的数据元素的位数不同。按照位数的不同,位图图像可分成如下几种:n ( 1) 1位图像:也称单显,它以一个二进制位存储位图图像,只能显示两种颜色(黑和白),因为一个位的值只能是 0或1。n

12、( 2) 4位图像:也称 16色,它可显示 16种颜色, 16色是 VGA视频适配器用的标准。n ( 3) 8位图像:也称 256色,最多可显示 256种颜色,这是超级 VGA视频适配器的最小值。n ( 4) 16位图像:也称增强色,可显示 32768种颜色,它不需要调色板描述它的颜色。n ( 5) 24位图像:也称真彩色,因为它可显示 16800000种可视颜色的全部频谱,几乎提供了所有的颜色。n 采用 MFC方法编程时,显示一个 GDI位图需要执行以下几个步骤:n ()调用成员函数 CDC:CreateCompatibleDC()创建一个兼容的内存设备环境。n ()调用成员函数 CBitm

13、ap:LoadBitmap()装入位图资源或调用成员函数 CBitmap: CDC:CreateCompatibleBitmap ()创建一个兼容的内存设备环境的位图。n ()调用成员函数 CDC:SelectObject()将位图选入设备环境。n ()调用成员函数 CDC:BitBlt()或 CDC:StrectchBlt()将位图从内存设备环境中复制到指定设备。3.2.6 菜单n 菜单( menu)是 Windows应用程序中重要的窗口元素,是用户与应用程序进行交互的接口,它与工具栏共同组成了Windows应用程序的友好界面。菜单可以让用户直观地了解程序的功能,并方便用户完成各种操作。n

14、注意:当 “弹出 ”复选框被选中时,创建的是一个带有弹出式下拉菜单的主菜单项,此时 “ID”框是不可用的,即创建的菜单项没有 ID标识。3.2.7 字符串n 运行一个 Windows应用程序后,当鼠标指向Windows应用程序的菜单项或工具栏按钮时,在程序窗口底部状态栏中会显示所指项的有关提示信息,串表就是这样一种用来显示提示信息的字符串资源。利用串表编辑器可进行串表的编辑、添加和删除等操作。n 在工作区的 ResourceView页面打开 String Table 文件夹,双击串表资源,出现如图 3-7所示的串表编辑器,其用法与快捷键编辑器类似,这里不再详述。3.2.8 工具栏n 工具栏由一些形象化的位图按钮组成,以图形方式表示应用程序的操作命令。工具栏结合了菜单和快捷键的优点,具有直观快捷、便于用户使用的特点。但由于工具栏要占用屏幕空间,所以只能将最常用的命令(一般是菜单命令项)做成按钮放到工具栏上,并且在需要的时候可以将工具栏隐藏起来。在工具栏编辑器中可以添加工具栏以及其按钮。n 在工作区的 ResourceView页面打开Toolbar文件夹,双击其中的工具栏资源,出现如图 3-8所示的工具栏编辑器,并同时弹出图形工具栏和颜色工具栏,单击工具栏最右边的空白项可添加一个新的按钮,并可利用图形和颜色工具绘制按钮。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报