初识WTL(下)

王朝vc·作者佚名  2006-01-17
窄屏简体版  字體: |||超大  

初识WTL(下)

作者:orange

下载本文示例工程

代码运行效果图如下:

接上一节,我们这次在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()

这些都和MFC的基本类似,最后在OnInitDialog中添加DoDataExchange(false);就完成了和MFC一样的DDX/DDV。

另外,在对话框添加了一个菜单,添加方法和MFC的一样,你也可以在程序中添加代码来完成!

参考资料:WTL for MFC Programmers 作者:Michael Dunn 在此深表感谢

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航