DDX_Text / DDX_Control() /DoDataExchange(pDX)/update(TRUE)/update(FALSE)

DDX_Text()的几种重载形式:
void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, BYTE& value );
void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, short& value );
void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, int& value );
void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, UINT& value );
void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, long& value );
void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, DWORD& value );
void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, CString& value );
void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, float& value );
void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, double& value );
void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, COleCurrency& value );
void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, COleDateTime& value );

其中,

参数pDX :指向CDataExchange对象的指针。框架提供了这个对象,用于建立数据交换的环境,包括其方向。
参数nIDC: 对话框、表格视图或控件视图中编辑控件的ID。
参数value :对对话框、表格视图或控件视图对象的成员变量的引用,其类型取决于你使用了DDX_Text的哪一个重载版本。

-----------------------------------

DDX_TEXT()的作用可以理解为把字符串变量和控件的文本(WindowText)关联起来。 
DDX_Control()的作用可以理解为把变量和控件本身关联起来。

DoDataExchange(pDX)就是处理所有变量与其关联控件交换数据的函数。
例如:
void CView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
DDX_Text(pDX, IDC_ID_VALUE, m_strID);
DDX_Control(pDX, IDC_ID_VALUE, m_editID);
}
在程序中
通过update(TRUE)取得控件上的值到m_strID,处理修改后, 通过update(FALSE)传回控件,界面显示;
通过m_editID.GetWindText(str)取得值,并处理后,通过m_editID.SetWindText(str)传回控件界面显示。

你可能感兴趣的:(windows开发)