首页 > 代码库 > 学习记录之二:数据交换和校验

学习记录之二:数据交换和校验

一:DDX

DDX(Dialog Data Exchange,DDX)对话框数据交换是用来在CDialog派生类中创建成员变量,并使之与界面模板上的控件相关联。DDX有两个类别:控件和值。DDX值变量是包含一个具体控件的值的成员变量。用于生命成员变量的具体C++类型取决于控件的类型。DDX变量(控件变量和值变量)都是通过Add Member Variable 对话框建立的。

二 DoDataExchange()和UpdateData()

  CWnd::DoDataExchange()函数对于使用界面派生类的DDX成员变量链接在界面上的控件起了关键性作用。如果创建了DDX成员,DoDataExchange()函数将有Class Wizard创建并自动维护。

  CWnd::UpdateData()是有框架提供,并包含对DoDataExchange()函数调用。UpdateData()函数只带一个参数,指明控件是否被正常更新或者成员变量是否被更新:  BOOL UpdateData(BOOL bSaveAndValidate);  如果 bSaveAndValidate 的值为TRUE(如果未传入值,则这是默认值),则与控件关联的DDX值成员变量用对话框中控件的文本进行更新。

 

学习记录之二:数据交换和校验