[转]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()第一次被调用时完成相关控件的子类化工作。
posted @ 2012-03-05 16:25  legendmaner  阅读(281)  评论(0编辑  收藏  举报