
void mydia::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, value);
DDV_MinMaxInt(pDX, value, 0, 100);
}
DDX:Dialog Data Exchange
如果使用DDX机制,一般会在OnInitDialog消息处理函数或Dialog构造函数中,为对话框对象的成员变量设置了初始。在对话框显示前,框架的DDX机制将成员变量的传给对话框中的控件,当调用DoModal或Create函数,对话框即将显示时,这些也就显示在相应的控件上。ddx_cbstring
CDialog类的成员函数OnInitDialog的默认实现中,调用CWnd类的UpdateData成员函数来初始化对话框的控件。当用户单击OK按钮或调用成员函数UpdateData(TRUE),相同的机制会将控件传给成员变量。
DDV:Dialog Data Validation
数据交换和验证仅仅应用于为之选定了Value类别的成员变量。也就是CString,BOOL,数字,COleDateTime或COLeCurrency。
对话数据交换负责数据在控件中的进出。当对话首次出现的时候,每个控件窗口自动用相应的成员变量的进行初始化。当用户通过单击OK按钮,或通过按Enter键关闭对话的时候,该控件无论是包含哪一个或文本,都将被复制回该变量。
对话数据验证可以确保落在规定的限制之内。交换和验证机制都是由MFC框架提供的。每个函数都有一个前缀DDX_或DDV_,来把它作为数据交换或数据验证函数来标识。

常见的对话数据交换函数
(1)交换函数:DDX_CBIndex, 获得/设置的数据类型:int, 应用于控件:Combobox
(2)交换函数:DDX_CBString, 获得/设置的数据类型:Cstring, 应用于控件:Combobox
(3)交换函数:DDX_CBStringExact,获得/设置的数据类型:Cstring, 应用于控件:Combobox
(4)交换函数:DDX_Check, 获得/设置的数据类型:intCheck, 应用于控件:box
(5)交换函数:DDX_DateTimeCtrl, 获得/设置的数据类型:Ctime, 应用于控件:Datetimepicker
(6)交换函数:DDX_LBIndex, 获得/设置的数据类型:int, 应用于控件:List box
(7)交换函数:DDX_LBString, 获得/设置的数据类型:CString, 应用于控件:Listbox
(8)交换函数:DDX_LBStringExact,获得/设置的数据类型:CString, 应用于控件:List box
(9)交换函数:DDX_MonthCalCtrl,获得/设置的数据类型:Ctime, 应用于控件:Month calendar
(10)交换函数:DDX_Radio, 获得/设置的数据类型:int, 应用于控件:Radio button
(11)交换函数:DDX_Scroll, 获得/设置的数据类型:int, 应用于控件:Scroll bar
(12)交换函数:DDX_Text, 获得/设置的数据类型:CStringor numerical(BYTE,short,int,UINT,long,etc.),应用于控件:Edit control
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-31234-1.html
直接撞沉美帝看它下次还来不来
小王子~
估计是理亏
光棍问题是严重的社会问题