词条 | wTL |
释义 | WTL 在开发者之间的悄悄传播已经超过一年了, 传闻它是基于ATL的,并在微软内部使用.这理所当然的引起了ATL开发者社区的主意.这些人从ATL1.1开始,就一直为ATL控件书写UI代码,但是他们发现,他们的所写的代码常常就是纯的Win32 GDI代码.我告诉您, WTL并没有多大不同. WTL库简介 WTL 是 Windows Template Library 的缩写,由微软的 ATL(Active Template Library) 小组开发,主要是基于 ATL 对 Win32 API 的封装。从 2.0 后,功能逐步完善,成为了一个完整的支持窗口的框架(windows framework)。 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支持 没有对线程和同步进行包装 没有数据库支持 总结 如果打算写一个Win32 界面程序,我建议您在考虑MFC之前,先试试WTL.使用WTL来写您的代码, 程序将变得小巧些,也更有效率些.使用WTL, 还将得到ATL支持COM好处.可以在2000年一月份的平台SDK中找到WTL.在MSI选项页的Source Code section下. 无 王天凌姓名:王天凌 Wang Tianling (中国) 性别:男 籍贯:上海 生日:1977.8.17 身高:1.78米 体重:70公斤 项目:跳水最好成绩:2002年世界杯双人跳板冠军 运动经历: 1985年在上海体育运动技术学院开始跳水训练,教练是叶锋。同年入选上海队,教练是叶锋。1988年7月选入国家队,教练是王立义。 文图拉英文名:Ventura 生日:1948-01-14 现在职务:巴里主教练 惯用脚:右脚 出生地:热那亚(意大利) 国籍:意大利 代表国家队:出场0次,进0球 欧洲三大杯:出场0次,进0球 欧洲冠军联赛:出场0次,进0球 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。