第10章 对话框PPT教学课件

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10.3.2 数据验证
在DoDataExchange()函数的定义中,除了为控件添加变量来 进行数据的交换外,还指定了允许输入的最大字符数,因 此,当m_bSaveAndValidate为真时,还要调用 DDV_MaxChars()来进行输入数据的验证。
10.3.3 创建一个图形显示实例
该实例是通过选择线宽、线型及颜色来对简单图形进行显示,其中简单图 形有直线、矩形、椭圆三种。当选择线宽、线型或者简单图形后,在 图形显示对话框上就会立即显示当前选择的改变。该实例还添加了一 个按钮控件来显示颜色对话框,通过选择新的颜色来实时改变图形的 颜色。
10.4.1 树形视图控件
树形视图控件用于在一个层次列表中显示数据。每一个表项 显示一个标题,还可以显示一副图像来形象地描述数据。 树视图和列表视图控件都使用了图像列表控件,利用图像 列表控件来包容图像,并组成一个列表,从而可视地代表 各种控件各自的数据项。
1.创建树形视图控件 2.插入一个新选项 3.查询或设置选项 4.有关树形视图控件的消息
首先利用MFC AppWizard(exe)创建一个名为Dialog的应用 程序,该程序基于单文档类型。然后利用资源编译器来进 行对话框的创建。
10.2.2 非模态对话框的创建
在学习控件时,知道了动态控件是通过调用控件类的成员函 数Create()来实现的。对于非模态对话框,同样要通过调 用对话框类的的成员函数Create()来实现。
10.4 树形视图和列表视图控件
树形视图和列表视图控件主要用来显示和管理数据列,其中 树形视图控件用于显示项的层次结构列表,例如文件夹的 目录结构,而列表视图提供了多种方式来排列并显示项目 列表。尽管树形视图和列表视图控件具有完全不同的功能 ,但两者经常一起用来为一个应用程序的数据提供不同的 视肌Windows资源管理器就是一个典型的例子。
10.4.2 列表视图控件
列表视图控件如图10.19所示,其右侧就是一个带有标题行的 列表视图;在可视界面上,列表视图控件类似于用于显示 成组的项的列表框控件,但功能大不一样,例如列表视图 控件可以在最顶层显示一列标题行,而标准的列表框不可 以。其实这一列标题行就是Windows的一个常用控件,即 标题控件。有了标题控件,用户就可以根据自己的需要对 列表视图中的列进行重新排序。
1.创建列表视图控件 2.插入一个新选项 3.插入一个列 4.设置列表视图的图像列表
10.4.3 创建一个通讯录实例
该实例是通过树形视图控件和列表视图控件建立一个通讯录 ,在树形视图中显示联系人的姓名,其中有三个根项表示 三种联系人的类型,分别为同学、朋友、同事。在列表视 图中显示当前选定的联系人的电话、职业及联系地址。该 实例还通过图像列表为树形视图控件中的选项关联了两种 图像,当某一选项被选择时其图像为加亮的图像,当选项 失去焦点时其图像为灰暗的图像。
10.3 对话框数据交换和验证
对话框的一大功能就是和用户进行信息交互,本节就是要了 解如何从对话框中获取数据,并赋给应用程序相应的变量 ,以及如何把程序中的变量赋给对话框中相应的控件。对 话框数据交换,英文全称是Dialog Data Exchange,简称 DDX,它用来在对话框类中创建变量,并与对话框上的 控件关联。对话框数据验证,简称DDV,它主要用来设 定变量的合理范围。如果用户在控件上键入超出合理范围 的数字,那么就会弹出一个用于解释输入错误的对话框。
10.3.1 数据交换
DDX控件变量可以将控件类与对话框中相应的控件关联,例 如DDX可以把对话框类的一个成员变量与对话框上的一 个编辑框关联起来,从而可由CEdit类的成员函数管理这 个编辑框。DDX变量通过类向导就可以创建,选择【 Member Variables】选项卡,在控件ID选项中选择需要创 建变量的控件,如图10.13所示。选择IDC_EDT_WIDTH 控件,然后单击【Add Variable...】按钮,弹出【Add Member Variable】对话框,如图10.14所示。输入变量名 称m_lineWidth,并选择该变量所需要的种类为Value,类 型为UNIT。
10.2 对话框的创建
对话框实际上就是一个窗口,它不仅可以接收消息,而且可 以移动和关闭,甚至可以在其客户区进行图形的绘制和显 示。MFC提供了一系列封装了对话框的类,主要包括 CDialog类、CCommonDailog类及C等。其相关类的层次 结构可以参照MSDN。
10.2.1 模态对话框的创建
10.1.1 常用控件介绍
MFC提供的用于封装控件及其功能的类是由CWnd类派生出来的 类,也就是说控件也是一个窗口,是显示在父窗口中的子窗口 ,例如它可以作为对话框、视类窗口、工具栏和状态栏的子窗 口而创建的。在对话框中常用的控件如图10.1所示。
10.1.2 控件的创建
创建一个控件有两种类型,一种是静态控件,创建静态控件 时必须利用对话框资源编辑器将控件包括在对话框内,当 对话框资源被加载时,所包含的控件也随之被创建。这种 方式在10.2节对话框的创建中将详细阐述。
第10章 对话框
对话框在基于窗口的应用程序中扮演着非常重要的角色,是 应用程序开发中最常用的功能,有着不可替代的作用。它 一般是用作诸如编辑控件、列表框、组合框和按钮之类的 Windows控件的载体。其功能正式通过它承载的各种控件 ,来接收用户的输入以及显示信息。
10.1 控件
Windows系统提供了大量的Windows基本控件,这些控件都 是可编程的,可以通过Visual C++开发环境的资源编辑器 将它们加入对话框这个大容器里,实现数据交互的可视化 界面,从而丰富了数据输入的手段。
10.1.来自百度文库 控件的消息
在第7章曾经简述过控件通知消息,知道了当用户与控件交 互时,这一类消息就从控件或者其他类型的子窗口发送到 父窗口。它通知父窗口,该控件接收到某种操作,从而使 父窗口进一步控制子窗口提供了条件。也就是说,父窗口 可以向控件发送消息,同时控件也可以向父窗口发送消息 。
1.控件向父窗口发送消息 2.父窗口向控件发送消息
相关文档
最新文档