Windows Template Library(
WTL)是一个用于
Win32研发的
面向对象的
C++
模板
库。WTL由
Microsoft的员工Nenad Stefanovic创造,起初作为内部使用,之后发行为
Visual Studio和Win32 Framework SDK的不支持增益集。它主要被开发作为
Microsoft Foundation Classes的轻量化替代品,以微软
ATL库(另一个被应用在创造
COM与
ActiveX的轻量库)为基础。
WTL提供实现不同用户接口组件的支持,从框架和弹出式视窗,到MDI、标准和通用控件、通用对话框、属性工作表和页面、图形设备接口对象,和其他通用的用户接口组件,像可滚动的视窗、分区视窗、工具栏和通用条。 WTL的主要目标是实现既小而有效率的代码,在以大小和速度上接近“纯粹的”SDK程序的同时,提供更高级和更有弹性的对象模型给程序开发者。 其他一些class也有包含,像是与MFC的CString
语法兼容的String wrapper以及一些Templated collection。
大部分的WTL API都是标准Win32调用的镜像,因此接口对于多数的Windows程序设计者趋向较为熟悉。虽然目前没有微软官方的文件存在,一个名为WTL Documentation Project的项目正在尝试建立这个库的广泛参考资料。
WTL是个模板库,因而其内容建基于源代码,但它原始的授权方式却类似于MFC源代码所采用的方式,差在它没有包含使用与散布上的限制。在2004年时微软让所有的源代码以Common Public License方式授权并在SourceForge上释出源代码。在版本7.5以后,这个库也以Microsoft Permissive License的方式作为多重授权。