在MFC中实现数据交互,这不得不提关于DDX_Text和DDX_Control的用法,也就是定义的控件变量有Control和Value之分,二者的共同点都是捆绑定义的控件变量,实现数据交换;不同点是DDX_Text定义的变量是控件的值,而DDX_Contro定义的变量是控件本身。个人认为如果想实现控件框中值变化,就选用DDX_Text,定义控件变量为Value类型,如果想实现控件变灰失效,则选择DDX_Control,定义控件变量Control类型。
关于二者的区别,建议动手操作一遍就清楚了,首先在界面中,拖放几个EDIt控件,编辑好其ID号,然后可以通过类向导定义控件变量,会在头文件自动生成变量的定义;
CEdit m_WidthCon1;
int m_Width;
DDX_Control(pDX, IDC_EDIT_Width, m_WidthCon1);//把变量和控件本身关联起来
DDX_Text(pDX, IDC_EDIT_Width, m_Width); //把字符串变量和控件的文本关联起来
如果想让变量更新到控件框中,则选择用UpdateData&#