初识WTL(下)

点击打开链接


代码运行效果图如下:

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

1. #include < atlddx.h > //对使用DDX/DDV macro的定义
2. #include < atlcom.h >
3. #include < atlhost.h >   //这两个文件是使对话框可以使用ActiveX控件

(2)

1. class CDlgTest : public CAxDialogImpl,
2. public CWinDataExchange//封装了DDX/DDV运行机制

(3)添加宏:

1. BEGIN_DDX_MAP(CDlgTest)
2. DDX_CONTROL(IDC_TREE_WTL, m_Tree) // m_Tree我们自己定义的一个控件
3. END_DDX_MAP()

这些都和MFC的基本类似,最后在OnInitDialog中添加DoDataExchange(false);就完成了和MFC一样的DDX/DDV。 另外,在对话框添加了一个菜单,添加方法和MFC的一样,你也可以在程序中添加代码来完成!

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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值