DDX_Control

来源:互联网 发布:一加五 linux 编辑:程序博客网 时间:2024/05/16 15:04
DDX_Control
void AFXAPI DDX_Control(CDataExchange* pDX, int nIDC, CWnd& rControl );
参数: pDX是 指向CDataExchange对象的指针。这种结构为指定对象提供了建立数据交换的环境,也包括结构的指向。
nIDC 子控件类的资源ID继承控件的属性。
rControl 对对话框成员变量的一个引用,形成视图资源,或者控制数据被交换的视图对象。
说明:
DDX_Control函数管理着在对话框、表格视或控件视中被子类化的控件与对话框、表格视或控件视的CWnd数据成员之间的数据交换。
有关DDX的更多信息参见《Visual C++程序员指南》中的“对话框数据交换和校验”和《Visual C++教程》中的“加入对话框”。
用例:
void Cdialog2Dlg::DoDataExchange(CDataExchange* pDX)
  {
  CDialog::DoDataExchange(pDX);
  DDX_Control(pDX, IDC_EDIT, m_Edit);
  //IDC_EDIT是树控件的ID,m_Edit是树控件对应类的对象
  }
  通俗的说:
1.将变量m_Edit和控件IDC_EDIT进行绑定
2.通过修改变量的数值控制控件操作。
例如:

建立一个对话框类 CTestDlg,这个类有一个成员变量CString m_string.在这个对话框上放上一个edit control(资源id是IDC_EDIT1),通过调用DDX_Control(,IDC_EDIT1,m_string)在IDC_EDIT1和m_string之间建立联系,调用updateData()时,你在edit控件上输入的字符就会传到m_string中,这样就实现了控件和变量之间的数据传递。

一般用于视图层(VIEW层),如:

void CTrialSharedTrajectoryView::DoDataExchange(CDataExchange* pDX){APPLOG_DEBUG("START");CSharedTrajectoryBaseView::DoDataExchange(pDX);DDX_Control(pDX, BTN_CFL_SHOW, m_cflset);DDX_Control(pDX, BTN_AS_INV_SHOW, m_asinvshow);DDX_Control(pDX, BTN_ETA_RECAL, m_etarecal);DDX_Control(pDX, BTN_SET, m_set);DDX_Control(pDX, BTN_PSS_SET_SHOW, m_psssetshow);DDX_Control(pDX, CHECK_ADD, m_add);DDX_Control(pDX, BTN_TMPL_SLCT_SHOW, m_TmplSlctShow);DDX_Control(pDX, BTN_TMPL_REG_SHOW, m_TmplRegShow);DDX_Control(pDX, CHECK_REG, m_ChkReg);this->CreateTrajectoryPoint(LIST_TRI_PT, CRect(CPoint(24, 171), CSize(1178, 185)));this->SetUpControl();this->Update();APPLOG_DEBUG("END RTN=%s", "VOID");}



0 0
原创粉丝点击