DoDataExchange整理
CWnd::DoDataExchange
virtual void DoDataExchange( CDataExchange* pDX );
参数: pDX 指向CDataExchange对象的指针。
框架调用这个函数以交换并校验对话框数据。
永远不要直接调用这个函数。它是由UpdateData成员函数所调用的。可调用UpdateData函数以初始化对话框控件或从对话框获取数据。
当你从CDialog继承应用程序特有的对话框类时,如果你想要利用框架的自动数据交换和校验功能,你需要重载这个成员函数。ClassWizard将为你编写这个成员函数的重载版本,包含了对话框数据交换(DDX)和校验(DDV)全局函数调用所需的“数据映射”。
要自动生成这个函数的重载版本,首先用对话框编辑器创建一个对话框资源,然后继承一个应用程序特有的对话框类。然后调用ClassWizard并用它来把变量、数据和校验范围与新对话框的不同控件关联起来。ClassWizard将写入重载的DoDataExchange,其中包含了数据映射。
永远不要直接调用这个函数。它是由UpdateData成员函数所调用的。可调用UpdateData函数以初始化对话框控件或从对话框获取数据。
当你从CDialog继承应用程序特有的对话框类时,如果你想要利用框架的自动数据交换和校验功能,你需要重载这个成员函数。ClassWizard将为你编写这个成员函数的重载版本,包含了对话框数据交换(DDX)和校验(DDV)全局函数调用所需的“数据映射”。
要自动生成这个函数的重载版本,首先用对话框编辑器创建一个对话框资源,然后继承一个应用程序特有的对话框类。然后调用ClassWizard并用它来把变量、数据和校验范围与新对话框的不同控件关联起来。ClassWizard将写入重载的DoDataExchange,其中包含了数据映射。
在2003以后的VC环境下,动态生成对话框,相应的代码中没有初始化函数OnInitDialog , 此时,你可以把你的初始化代码直接放在DoDataExchange中。当然,你也可以,手动添加一个初始化函数(无法通过向导与6.0不同!!),但得注意添加后在
OnInitDialog 的最开始得调用 CDialog::OnInitDialog();