Windows Template Library
From Wikipedia, the free encyclopedia
The Windows Template Library (WTL) is an object-oriented Win32 encapsulation C++ library by Microsoft. The WTL supports an API for use by programmers. It was developed as a light-weight alternative to Microsoft Foundation Classes. WTL extends Microsoft's ATL, another lightweight API for using COM and for creating ActiveX controls. Though created by Microsoft, it is unsupported.
Microsoft made the source code of WTL freely available under an open source license. Releasing it under the Common Public License, Microsoft posted the source on SourceForge, an Internet repository for open-source code. As of version 7.5, the library was also dual licensed under the Microsoft Permissive License. [1]
Most of the WTL API is a direct mirror of the standard Win32 calls, so the interface is familiar to most Windows programmers. Being an unsupported library, WTL has little formal documentation. Faced with this problem the "WTL Documentation" project [2] was started and now has a semi-complete documentation.
[edit] Overview
Windows Template Library, or WTL, is a set of classes that extend ATL to support more complex user interfaces for either applications or various UI components, while maintaining the big advantage of ATL—small and fast code. WTL classes were designed to be the best and the easiest way to implement rich Win32 based UI for ATL based applications, servers, components, and controls.
WTL provides support for implementing various user interface elements, from frame and popup windows, to MDI, standard and common controls, common dialogs, property sheets and pages, GDI objects, UI updating, scrollable windows, splitter windows, command bars, etc. The WTL classes are mostly templated and use minimal instance data and inline functions. They were not designed as a framework, so they do not impose a particular application model, and can accommodate any. The classes do not use hooks or thread local storage, so they have no restrictions that those techniques impose. They also have no inter-dependencies and can be freely mixed with straight SDK code. In summary, WTL delivers very small and efficient code, very close in size and speed to SDK programs, while presenting a more logical, object oriented model to a programmer.
[edit] External links
- The SourceForge WTL project
- Microsoft's download page for WTL 7.5
- WTL Documentation - An Effort to Create Documentation for the WTL Programming Library.
- "Using the Windows Template Library" article from GameDev.net, excellent introduction to library.
- "WTL for MFC Programmers" – A series of tutorials aimed at MFC programmers who want to start using WTL.
- The WTL Wiki - A wiki dedicated to the Windows Template Library (WTL)