Chinaunix首页 | 论坛 | 博客
  • 博客访问: 468578
  • 博文数量: 724
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(724)

文章存档

2011年(1)

2008年(723)

我的朋友

分类:

2008-10-13 17:08:54

初识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)
#include  //对使用DDX/DDV macro的定义
#include 
#include    //这两个文件是使对话框可以使用ActiveX控件
(2)
class CDlgTest : public CAxDialogImpl,
public CWinDataExchange//封装了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 在此深表感谢
--------------------next---------------------

我推荐WTL for MFC Programmers 作者:Michael Dunn
这一共六篇文章在
下的WTL分支下可以找到。
看了它们以后基本上可以对付,剩下的就靠自己看源代码了。
我很喜欢WTL,现在基本上已经丢弃了mfc ( lqhwinner 发表于 2003-6-14 20:45:00)
 
to jerrycgl:
在WTL中怎样host一个ActiveX控件,
我这有一篇文章,你可以看看!
你的邮箱? ( insofar2001 发表于 2003-6-10 8:37:00)
 
请问如何在WTL中在子窗口中调用com对象?就像在atl中用caxwindow/caxdialog Host另外一个控件一样?我已经可以在mfc的程序中host另外一个控件,就是用cwnd的create和invokehelper方法。xie xie :)
( jerrycgl 发表于 2003-6-9 15:05:00)
 
在WTL中没有CWnd这个类! ( insofar2001 发表于 2003-6-6 18:00:00)
 
请问如何在WTL中调用CWnd的函数?xie xie :) ( jerrycgl 发表于 2003-6-6 11:08:00)
 
to luwei0314:在上有 ( insofar2001 发表于 2003-6-5 14:25:00)
 
请问:你的深入剖析WTL是从那里找到的? ( luwei0314 发表于 2003-6-5 13:28:00)
 
.......................................................

--------------------next---------------------

阅读(253) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~