WTL简介

WTL简介

      WTL是Windows Template Library的缩写,由微软的ATL(Active Template Library)小组开发,主要是基于ATL对Wind32 API的封装。从2.0后,功能逐步完善,成为了一个完整的支持窗口的框架。

     WTL功能不如MFC完善,但是比MFC更小巧,不依赖MFC的DLL。

     WTL不是微软的正式产品,没有微软的官方支持。

 

WTL有什么?

      它给各种类型的应用程序提供了一个基本的框架,虽然没有MFC那样的文档/视图结构,但是有视图(Views)。在WTL有大量的代码来管理视图,而且加入自己的代码也很容易。WTL有AppWizard,可以生成SDI,MDI和多线程SDI程序,多线程SDI跟IE或Windows Explorer很像,它看起来是打开了很多个程序实例,实际上这些窗口都是属于一个进程。

       另外,程序可以是基于对话框的,也可以是基于视图的,视图可以是基于CWindowImpl的,也可以是基于控件,甚至是IE里的一个HTML页,可以选择程序是否需要一个rebar, command bar (CE-like),toolbar 和/或status bar。另外,程序可以支持ActiveX控件,以及成为一个COM服务器。

        WTL提供splitter窗口类(这样在一个视图里您可以有两个窗口)和scroll窗口类(这样您的窗口可以比它显示的“视”小),WTL也有个类似MFC的UpDateUI的东西,但是它们不是很一样,主要的区别是您需要把需要更新的项用宏映射标注出来,然后您在您的类里加入执行UpdateUI的代码,DDX/DDV在WTL也支持,同样类似MFC,但有不同,必须加一个宏映射来实现DoDataExchange,然后加入调用它的代码。

       现在WTL也有GDI类了,然而HDC的封装类就像CWindow一样,只进行了很简单的封装,它几乎没有加入任何新的功能,不过,在WTL,你可以得到播放meta文件和OpenGL支持, 最有价值的应该是打印机DC的那些继承类,WTL有打印机支持,甚至打印预览, 当然也有GDI对象的封装,诸如画笔,画刷,区域等。

       WTL对所有的Win32 (和W2K) 通用对话框进行了封装,同样尽管简单,但是它的确使请求字体或者文件变的非常的简单。

       合成了旧的AtlControls.h,新加了一些封装类,这些封装类封装了W2K控件,以及一些不属于Win32的“控件”,像Command Bar, bitmap button, hyperlink 和 wait cursor。

WTL 最终把消息分离带入了ATL! 一些新的MSG映射宏将消息分离,调用您类里的消息处理函数.消息处理函数的参数的值是从消息分离得到的.唯一令人头痛的是,您需要查看头文件以确定函数参数的意义.

         最后,WTL还有一些实用类.最重要的是CString,不错,它是从MFC克隆得到的(copy on write),具有MFC版本的所有方法,还有查找文件的API的封装类,以及CRect,CSize and CPoint。


WTL中没有什么?

        没有Document支持

        WTL提供了frame和view,但是没有document。WTL所关注的是用户界面,而document是不可见的,所以它不是WTL关心的范围。

        没有Active Document支持

        没有ISAPI支持

        没有WinInet支持

        没有对线程和同步进行包装

        没有数据库支持

......

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值