您的位置:首页 > 其它

DoDataExchange

2007-12-07 14:24 387 查看
导读:
  CWnd::DoDataExchange
  virtual void DoDataExchange(
  CDataExchange* pDX
  );
  永远不会被直接调用。。。它会被UpdataData这个成员函数所调用。。。调用UpateData来初始化对话框(Call UpdateData to initialize a dialog box's controls ),或者从对话框返回数据(retrieve data from a dialog box)。。。
  当你从CDialog继承一个类来实现你所需要的Dialog。。。你需要重写这个成员函数。。。因为你要利用框架提供的自动更新和确认。。。The Add Variable wizard will write an overridden version of this member function for you containing the desired "data map" of dialog data exchange (DDX) and validation (DDV) global function calls.
  为了自动产生这个重写版本。。。首先要为这个对话框create一个对话框资源。。。然后继承这个对话框。。。然后使用向导来增加成员变量。。。和其应有的取值范围。。。向导就会增加一个重写版本的DoDataExchange,它包含一个data map。如下例:
  void CPenWidthsDlg::DoDataExchange(CDataExchange* pDX)
  {
  CDialog::DoDataExchange(pDX);
  
  DDX_Text(pDX, IDC_THIN_PEN_WIDTH, m_nThinWidth);
  DDV_MinMaxInt(pDX, m_nThinWidth, 1, 20);
  DDX_Text(pDX, IDC_THICK_PEN_WIDTH, m_nThickWidth);
  DDV_MinMaxInt(pDX, m_nThickWidth, 1, 20);
  }
  For more information on dialog data exchange and validation, see Displaying and Manipulating Data in a Form and Dialog Data Exchange and Validation. For a description of the DDX_ and DDV_ macros generated by the Add Variable wizard, see Technical Note 26.
  DoDataExchange函数必须在ddx/ddv宏前面。。。

本文转自
http://blog.csdn.net/boostjonah/archive/2007/09/04/1772164.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: