- 1
- 0
- 约5.61千字
- 约 86页
- 2015-11-19 发布于广东
- 举报
第4章对 话 框 对话框是程序中一个常见的用户界面元素。 一个具有良好的人机交互功能的软件中,对话框要操作简便,功能完备,信息明了,整体统一。 本章将详细介绍对话框的一般创建流程,模态和非模态的对话框、属性页对话框、各种通用对话框以及消息对话框的使用方法。 为了使读者深入了解对话框的编程方法和使用方法,本章中给出了大量的示例,并提供了相关类和函数的参考说明。 4.1 对话框的创建 4.1.1 对话框的创建流程 对话框的创建流程如图4-1所示,主要分为两个大步骤。 创建对话框资源包括添加对话框模板、修改对话框的属性并向对话框中添加各种控件两步。 创建对话框类包括添加控件变量和添加控件消息处理函数这两步。 4.1.2 创建对话框资源 创建对话框首先要创建对应的资源。 以下通过实例Sample4_1,具体地讲解如何运用对话框编辑器创建对话框资源的方法。 图4-2 添加资源对话框 1.为应用程序添加对话框 2.修改对话框属性 3.在对话框中添加控件 4.1.3 创建对话框类 创建对话框的第2步是创建对话框类,即创建一个CDialog类的派生类与新建的对话框资源关联。 对话框类CDialog提供了访问控件属性,以及响应控件和对话框自身消息的功能。 1.创建对话框类 2.为对话框类添加控件成员变量 3.数据交换和检验 程序运行时,用户更改控件属性,如在输入框中输入文字或者改变复选框的选中状况后,MFC会修改对应控件变量的值。 这个过程是通过MFC为对话框类自动添加的成员函数DoDataExchange()实现的,称为对话框数据交换和检验机制。 MFC提供了处理控件与控件变量之间的数据交换的机制,因此在代码中访问控件的属性,就可以直接通过访问控件变量进行。 4.为对话框类添加控件通知消息的处理函数 MFC为对话框和控件定义了许多消息,可以通过“MFC ClassWizard”对话框来查看、新建和删除相应的消息响应函数。 4.2 模态对话框 Windows系统中对话框大致可以分为以下两种: ● 模态对话框。 这类对话框弹出后,其他程序会被挂起,只有当前对话框响应用户的输入。 模态对话框一般要求用户做出某种选择。 ● 非模态对话框。 打开非模态对话框后,程序的其他窗口仍能响应消息,程序仍可以继续运行。 非模态对话框一般用来显示信息,或者实时地进行一些设置。 【例4-2】 创建模态对话框实例。 1.创建对话框类 2.创建对话框类的实例并初始化 3.运行模态对话框并获得返回值 4.3 非模态对话框 本节将介绍另一类型的对话框,即非模态对话框的使用。 这类对话框在没有关闭前,也能允许其他应用程序继续运行,并可以在应用程序间互相切换窗口。 因此此类对话框的生存周期较长,也就是说非模态对话框的对象生存周期需要存在于父窗口类对象的整个生存周期。 因此需要在父窗口类添加指向非模态对话框类对象的指针成员变量。 1.创建对话框类 2.创建对话框类的实例并初始化 3.创建和显示对话框 4.退出和销毁对话框 4.4 属性页对话框 属性页对话框是一种特殊的对话框,它将多个对话框集中起来,通过标签或按钮来激活各个页面。 属性页对话框主要分为一般属性页对话框和向导对话框。 在一般属性页对话框中,页面的切换通过单击不同的选项卡实现。 在向导对话框中,页面的选择是通过单击“上一页”(Back)、“下一页”(Next)按钮实现的。 图4-20和图4-21分别给出了这两种对话框的界面。 4.4.1 向导对话框的创建步骤
您可能关注的文档
- 新Visual Basic语言程序设计及实验教程 电子教案 周建丽 第4章 选择结构程序设计.ppt
- 新Visual Basic语言程序设计及实验教程 电子教案 周建丽 第5章 循环结构程序设计.ppt
- 新Visual Basic语言程序设计及实验教程 电子教案 周建丽 第6章 数组.ppt
- 新Visual Basic语言程序设计及实验教程 电子教案 周建丽 第7章 过程.ppt
- 新Visual Basic语言程序设计教程 电子教案 周建丽 Visual Basic语言程序设计教程 教学课件 周建丽 6166.ppt
- 新Visual C# .NET程序设计教程 教学课件 罗福强 白忠建 杨剑 C# Ch1.ppt
- 新Visual C# .NET程序设计教程 教学课件 罗福强 白忠建 杨剑 C# Ch2.ppt
- 新Visual C# .NET程序设计教程 教学课件 罗福强 白忠建 杨剑 C# Ch3.ppt
- 新Visual C# .NET程序设计教程 教学课件 罗福强 白忠建 杨剑 C# Ch4.ppt
- 新Visual C# .NET程序设计教程 教学课件 罗福强 白忠建 杨剑 C# Ch5.ppt
- 新Visual C++实用教程 教学课件 周进 朱训林 张宏林 第5章 常用控件.ppt
- 新Visual C++实用教程 教学课件 周进 朱训林 张宏林 第6章 文本和字体类.ppt
- 新Visual C++实用教程 教学课件 周进 朱训林 张宏林 第7章 图形图像.ppt
- 新Visual C++实用教程 教学课件 周进 朱训林 张宏林 第8章 文件操作.ppt
- 新Visual C++实用教程 教学课件 周进 朱训林 张宏林 第9章多线程.ppt
- 新Visual C++实用教程 教学课件 周进 朱训林 张宏林 第10章 多媒体应用程序设计.ppt
- 新Visual C++实用教程 教学课件 周进 朱训林 张宏林 第11章 动态链接库.ppt
- 新Visual C++实用教程 教学课件 周进 朱训林 张宏林 第12章 网络编程.ppt
- 新Visual C++实用教程 教学课件 周进 朱训林 张宏林 第13章 数据库开发.ppt
- 新Visual C++应用教程 教学课件 郑阿奇 丁有和 第1章C++基础1.ppt
原创力文档

文档评论(0)