• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
git&Android
博客园    首页    新随笔    联系   管理    订阅  订阅

DoDataExchange整理

CWnd::DoDataExchange
virtual void DoDataExchange( CDataExchange* pDX );
参数: pDX 指向CDataExchange对象的指针。


框架调用这个函数以交换并校验对话框数据。
永远不要直接调用这个函数。它是由UpdateData成员函数所调用的。可调用UpdateData函数以初始化对话框控件或从对话框获取数据。
当你从CDialog继承应用程序特有的对话框类时,如果你想要利用框架的自动数据交换和校验功能,你需要重载这个成员函数。ClassWizard将为你编写这个成员函数的重载版本,包含了对话框数据交换(DDX)和校验(DDV)全局函数调用所需的“数据映射”。
要自动生成这个函数的重载版本,首先用对话框编辑器创建一个对话框资源,然后继承一个应用程序特有的对话框类。然后调用ClassWizard并用它来把变量、数据和校验范围与新对话框的不同控件关联起来。ClassWizard将写入重载的DoDataExchange,其中包含了数据映射。

在2003以后的VC环境下,动态生成对话框,相应的代码中没有初始化函数OnInitDialog , 此时,你可以把你的初始化代码直接放在DoDataExchange中。当然,你也可以,手动添加一个初始化函数(无法通过向导与6.0不同!!),但得注意添加后在 OnInitDialog 的最开始得调用 CDialog::OnInitDialog();

 

posted @ 2012-08-29 21:25  李元静  阅读(166)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3