MFC 关于控件变量的使用

在MFC中我们常常要把一些变量于控件对应起来! 并通过UpdateDate来实调用DoDataExchange(CDataExchange* pDX)实现变量信息交换!

VS2010   添加控件变量的过程:键单击控件,选择添加变量,弹出添加成员变量向导,记得选择控件变量复选框。在类别下拉框选择Value。选择变量类型,设置变量名。

 

如:
DDX_Text(pDX, IDC_STATICCOUNT, m_sCount); --> value对应

把控件ID为IDC_STATICCOUNT的控件与m_sCount变量对应起,
用UpdateDate(TRUE)来把IDC_STATICCOUNT控件数据写到m_sCount;
用UpdateDate(FALSE)把m_sCount数据读写到IDC_STATICCOUNT控件;

DDX_Control(pDX, IDC_BSTARTTIME, m_cStartTime);有尽有-->control

把控件ID为IDC_BSTARTTIME的控件与m_sCount变量对应起,如BUTTON。
此时我们可以通过m_cStartTime控件变量改变对应控件状态!
m_cStartTime.EnableWindow(FALSE); 可以改变控件是否可用!如果没有control对应,
那么我们可以使用等价语句:GetDlgItem(IDC_BSTARTTIME)->EnableWindow(TRUE);

对话框数据交换是由DoDataExchange函数完成,在程序代码中从来不直接调用这个函数,而是通过CWnd类的另一个成员函数:UpdateData来调用。通过调用UpdateData来初始化对话框控件或者从对话框获取数据。

UpdateData函数有一个BOOL类型的参数,默认为TRUE。如果其值为TRUE,则说明函数正在获取对话框中的数据到成员变量,如果其值为FALSE,则说明该函数正在初始化对话框控件。

你可能感兴趣的:(MFC 关于控件变量的使用)