第五章对话框及常用控件 本章导读 在 Windows,应用程序中,对话框( Dialog)是最重要 的用户界面元素之一,是应用程序与用户交互的重要 手段。当用户进行某项操作之后,弹出一个对话框把 反馈信息传递给用户,也可以要求用户输入数据或者 进行选择。 控件在 Windows应用程序中也很常见。一般来说, 在对话框中是通过各种控件来和用户进行交互的,我 门经常用到的控件有按钮、列表框、编辑框、组合框 滚动条等。实际上,控件是一种特殊类型的窗口,通 常为其父窗口所拥有。 U回
返回 1 第五章 对话框及常用控件 本章导读 在Windows应用程序中,对话框(Dialog)是最重要 的用户界面元素之一,是应用程序与用户交互的重要 手段。当用户进行某项操作之后,弹出一个对话框把 反馈信息传递给用户,也可以要求用户输入数据或者 进行选择。 控件在Windows应用程序中也很常见。一般来说, 在对话框中是通过各种控件来和用户进行交互的,我 们经常用到的控件有按钮、列表框、编辑框、组合框、 滚动条等。实际上,控件是一种特殊类型的窗口,通 常为其父窗口所拥有
5.1对话框的组成和分类 511对话框的组成 在 Visual c++中,对话框主要是由对话框资源和对话框 类组成 1.对话框资源 对话框资源中描述的是对话框的大小、风格等特性 以及对话框中控件的类型和它们的位置。定义对话框资 源最简单、最有效的方法就是使用 Visual c++中的资源编 辑器 2.对话框类 对话框资源所提供的仅仅是一个数据结构,要利用所 创建的对话框资源,必须要创建以它作为资源的对话框 类,对话框类是从 CDialog类中派生出的子类,它提供了 编程接口来管理对话框。 U回
返回 2 5.1 对话框的组成和分类 5.1.1 对话框的组成 在Visual C++中,对话框主要是由对话框资源和对话框 类组成: 1. 对话框资源 对话框资源中描述的是对话框的大小、风格等特性, 以及对话框中控件的类型和它们的位置。定义对话框资 源最简单、最有效的方法就是使用Visual C++中的资源编 辑器。 2. 对话框类 对话框资源所提供的仅仅是一个数据结构,要利用所 创建的对话框资源,必须要创建以它作为资源的对话框 类,对话框类是从CDialog类中派生出的子类,它提供了 编程接口来管理对话框
5.1对话框的组成和分类 52对话框的分类 对话框有两种类型:模式对话框和无模式对话框。下 面分别对这两种对话框进行说明。 1.模式对话框 所谓“模式对话框”是指对话框被弹出后,用户必须 在对话框中作出相应的操作;在退出对话框之前,会阻 止其他应用程序的运行(包括它所在的应用程序)。 般情况下,模式对话框会有【OK】(确定)和 Cancel】(取消)两个按钮。单击【OK】按钮,系统 认定用户在对话框中的选择或输入有效,退出对话框; 单击【 Cancel】按钮,系统认定用户在对话框中的选择或 输入无效,退出对话框,程序恢复原有状态。 U回
返回 3 5.1 对话框的组成和分类 5.1.2 对话框的分类 对话框有两种类型:模式对话框和无模式对话框。下 面分别对这两种对话框进行说明。 1. 模式对话框 所谓“模式对话框”是指对话框被弹出后,用户必须 在对话框中作出相应的操作;在退出对话框之前,会阻 止其他应用程序的运行(包括它所在的应用程序)。 一般情况下,模式对话框会有【OK】(确定)和 【Cancel】(取消)两个按钮。单击【OK】按钮,系统 认定用户在对话框中的选择或输入有效,退出对话框; 单击【Cancel】按钮,系统认定用户在对话框中的选择或 输入无效,退出对话框,程序恢复原有状态
5.1对话框的组成和分类 2.无模式对话框 所谓“无模式对话框”是指当对话框被弹岀后,将 直保留在屏幕上,但不影响其他应用程序的运行,用 户可以继续在对话框所在的应用程序中进行其他操作; 当需要使用对话框时,只需像激活一般窗口—样单击对 话框所在的区域即可。例如在 Microsoft word中的“查找 和“替换”对话框。 两种对话框在用资源编辑器设计和使用 Class wizard 进行编程时的方法基本一致。但在创建和退出窗口时的 方式有所不同。 U回
返回 4 5.1 对话框的组成和分类 2. 无模式对话框 所谓“无模式对话框”是指当对话框被弹出后,将 一直保留在屏幕上,但不影响其他应用程序的运行,用 户可以继续在对话框所在的应用程序中进行其他操作; 当需要使用对话框时,只需像激活一般窗口一样单击对 话框所在的区域即可。例如在Microsoft Word中的“查找” 和“替换”对话框。 两种对话框在用资源编辑器设计和使用Class Wizard 进行编程时的方法基本一致。但在创建和退出窗口时的 方式有所不同
5.1对话框的组成和分类 在创建时,模式对话框是由系统自动分配内存空间 因此在退出对话框时,对话框对象会自动删除。而 无模式对话框则是需要用户来指定内存,退出时还 需用户自己来删除对话框对象。 在退出时,两种对话框所使用的终止函数不一样。 模式对话框通过调用 CDialog: EndDialog来终止,而 无模式对话框则是通过调用CWnd: Destroy Window 来终止。 U回
返回 5 5.1 对话框的组成和分类 1. 在创建时,模式对话框是由系统自动分配内存空间, 因此在退出对话框时,对话框对象会自动删除。而 无模式对话框则是需要用户来指定内存,退出时还 需用户自己来删除对话框对象。 2. 在退出时,两种对话框所使用的终止函数不一样。 模式对话框通过调用CDialog::EndDialog来终止,而 无模式对话框则是通过调用CWnd::DestroyWindow 来终止