现在的位置: 首页 > 综合 > 正文

WTL 方式 对话框数据交换(DDX)

2012年08月05日 ⁄ 综合 ⁄ 共 664字 ⁄ 字号 评论关闭

WTL 方式 对话框数据交换(DDX)

江西理工  FangSH 2010-9-21

 

WTL的DDX(对话框数据交换)很像MFC,可以使用很简单的方法将变量和控件关联起来。

1,从CWindowImpl派生一个新类。

class CMainDlg : public CDialogImpl<CMainDlg>,

               public CWinDataExchange<CMainDlg>  //用DDX交换数据

{

//……

};

2、将#include atlddx.h 添加到stdafx.h中,这样就可以使用DDX代码

3、将CWinDataExchange添加到继承列表中:

class CMainDlg : public CDialogImpl<CMainDlg>,

                 public CWinDataExchange<CMainDlg>

{

//...

};

4、接着在对话框类中添加DDX链,对于不同类型的数据可以使用不同的DDX宏。例如:

class CEditImpl : public CWindowImpl<CEditImpl, CEdit>

{

    //……

      BEGIN_DDX_MAP(CMainDlg)

        DDX_CONTROL(IDC_EDIT, m_wndEdit)

      END_DDX_MAP()

//……

}

5、在OnInitDialog()中调用DoDataExchange()函数,这个函数是继承自CWinDataExchange。DoDataExchange()第一次被调用时完成相关控件的子类化工作。

抱歉!评论已关闭.