|
下载本文示例工程
代码运行效果图如下:

接上一节,我们这次在SDI中添加一个按钮,用来演示弹出一个自己添加的对话框。 因为WTL目前不支持像MFC那样的Class Wizard,所以我们得手动添加一些代码。首先我们在Resource View中Insert Dialog,接下来我们也可以借用一下MFC的Class Wizard,如图:
这里的CAxDialogImpl也可是CDialogImpl,MFC的Class wizard确实没为我们的小程序作些贡献,除了生成.h和.cpp文件,相信以后WTL也可以有Class Wizard支持。别忘了在你的.h文件中添加#include "resource.h"可以参照AboutDlg添加你的代码。这里我主要介绍在WTL中怎样使用DDX/DDV机制,如果你很清楚MFC中的DDX/DDV,这对你来说是so easy!
首先,你的在头文件中添加 (1)#include <atlddx.h> //对使用DDX/DDV macro的定义
#include <atlcom.h>
#include <atlhost.h> //这两个文件是使对话框可以使用ActiveX控件
(2)class CDlgTest : public CAxDialogImpl<CDlgTest>,
public CWinDataExchange<CDlgTest>//封装了DDX/DDV运行机制
(3)添加宏:BEGIN_DDX_MAP(CDlgTest)
DDX_CONTROL(IDC_TREE_WTL, m_Tree) // m_Tree我们自己定义的一个控件
END_DDX_MAP()下载本文示例工程
代码运行效果图如下:

接上一节,我们这次在SDI中添加一个按钮,用来演示弹出一个自己添加的对话框。 因为WTL目前不支持像MFC那样的Class Wizard,所以我们得手动添加一些代码。首先我们在Resource View中Insert Dialog,接下来我们也可以借用一下MFC的Class Wizard,如图:
这里的CAxDialogImpl也可是CDialogImpl,MFC的Class wizard确实没为我们的小程序作些贡献,除了生成.h和.cpp文件,相信以后WTL也可以有Class Wizard支持。别忘了在你的.h文件中添加#include "resource.h"可以参照AboutDlg添加你的代码。这里我主要介绍在WTL中怎样使用DDX/DDV机制,如果你很清楚MFC中的DDX/DDV,这对你来说是so easy! 首先,你的在头文件中添加 (1)#include <atlddx.h> //对使用DDX/DDV macro的定义
#include <atlcom.h>
#include <atlhost.h> //这两个文件是使对话框可以使用ActiveX控件
(2)class CDlgTest : public CAxDialogImpl<CDlgTest>,
public CWinDataExchange<CDlgTest>//封装了DDX/DDV运行机制
(3)添加宏:BEGIN_DDX_MAP(CDlgTest)
DDX_CONTROL(IDC_TREE_WTL, m_Tree) // m_Tree我们自己定义的一个控件
END_DDX_MAP()
|