60 likes | 253 Views
第5章 对话框和常用控件 (一). 5.1 对话框的使用 5.2 控件的创建和使用方法 5.3 常用控件 5.4 通用对话框和消息对话框. 5.1 对话框的使用. 对话框的两种类型: 模式对话框:当对话框被弹出时,用户必须在对话框中进行相应的操作,再退出对话框之前,对话框所在的应用程序不能继续执行。 无模式对话框:当对话框被弹出后,一直保留在屏幕上,用户可继续在对话框所在的应用程序中进行其他操作;当需要使用对话框时,只需像激活一般窗口一样单击对话框所在的区域即可激活。. 模式和无模式对话框的区别. 在创建时:
E N D
第5章 对话框和常用控件(一) • 5.1 对话框的使用 • 5.2 控件的创建和使用方法 • 5.3 常用控件 • 5.4 通用对话框和消息对话框
5.1 对话框的使用 • 对话框的两种类型: • 模式对话框:当对话框被弹出时,用户必须在对话框中进行相应的操作,再退出对话框之前,对话框所在的应用程序不能继续执行。 • 无模式对话框:当对话框被弹出后,一直保留在屏幕上,用户可继续在对话框所在的应用程序中进行其他操作;当需要使用对话框时,只需像激活一般窗口一样单击对话框所在的区域即可激活。
模式和无模式对话框的区别 • 在创建时: • 模式对话框是由系统自动分配内存空间,因此在对话框退出时,对话框对象自动删除。 • 无模式对话框则需要用户来指定内存,退出时还需自己来删除对话框对象。 • 在退出时: • 模式对话框通过调用CDialog::EndDialog来终止。 • 无模式对话框通过调用CWnd::DestroyWindow来终止。
控件的数据交换和数据校验 • 数据映射机制:DDX和DDV技术。DDX:数据交换、DDV:数据校验 • 数据映射机制一般适用于编辑框、检查框、单选按钮、列表框和组合框。
关于数据交换和数据校验的几点说明 • 在DDX/DDV技术中,允许用户为同一个控件关联多个数据成员变量,但必须保证这些变量名是互不相同的,且这些变量在同一个类型不能有多个变量。 • 如果添加的成员变量是一个数值类型,则在MFC ClassWizard对话框的Member Variables页面下方还要求用户输入变量的范围,这就是控件的数据校验设置。
UpdateData函数 • UpdateData只有一个为TRUE或FALSE的参数。 • 当调用UpdateData(FALSE)时,数据由控件关联的成员变量向控件传输。 • 当调用UpdateData(TRUE)或不带参数的UpdateData时,数据从控件向相关联的成员变量复制。