下载后可任意编辑第七章一、用户对话框:用户在使用应用程序时,可以对控件进行输入、输出操作,而控件是通过对话框的数据交换机制与对话框进行数据交换的,本节主要介绍对话框数据交换与验证。1.数据交换对话框数据交换(DDX,Dialog Data Exchange)用于对话框及其相关控件的初始化,并实现控件与对话框之间的数据交换。DDX 机制的实现函数语法如下:void nDlg::DoDataExchange( CDataExchange* pDX ){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(nDlg)DDX_Custom(pDX, nIDC, field);//}}AFX_DATA_MAP}参数说明:nDlg:是进行数据交换机制的对话框类。DDX_Custom:DDX 函数,使用的函数根据进行数据交换时成员变量的数据类型和控件决定。pDX:是一个指向 CDataExchange 对象的指针。nIDC:表示进行数据交换的控件 ID。field:表示对话框类中和控件进行关联的成员变量。在对话框中的数据需要进行交换时,DoDataExchange 函数就被调用进行数据交换。但是还需要调用函数 UpdateData 来实现数据的更新,UpdateData 函数语法如下:BOOL UpdateData( BOOL bSaveAndValidate = TRUE );参数说明:bSaveAndValidate:该参数是一个标志,取值如下:l 当参数值为 TRUE 时,就用对话框界面上显示的值来设置对话框类的成员变量的值。l 当参数值为 FALSE 时,则根据对话框类的成员变量的值来更新对话框界面上显示的值。一般情况下,数据交换只在对话框初始化时才发生,所以在对话框类中的其他函数假如要在设置成员变量以后,及时的显示或者猎取对话框上最新的输入值,就必须显式地调用UpdateData 函数。 2.数据验证对话框数据验证(DDV,Dialog Data Validation)用于验证对话框输入数据的有效性。DDV机制的实现函数语法如下:void nDlg::DoDataExchange( CDataExchange* pDX ){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(nDlg)下载后可任意编辑DDV_Customi(pDX, field, ...);//}}AFX_DATA_MAP}参数说明:nDlg:是进行数据交换机制的对话框类。DDV_Custom:DDV 函数,使用的函数根据进行数据验证时成员变量的数据类型决定。field:表示对话框类中和控件进行关联的成员变量。...:表示进行数据验证时输入数据的有效范围。下面通过实例来演示一下对话框是如何进行数据交换和数据验证的。步骤如下:(1)创建一个基于对话框的应用程序。(2)向对话框中添加 7 个静态文本控件、8 个编辑框控件和一个按钮控...