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

源自http://www.cnblogs.com/fangshenghui/archive/2010/09/22/1833010.html 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()第一次被调用时完成相关控件的子类化工作。

你可能感兴趣的:(对话框)