Windows Template Library (WTL) | |
Developer: | Microsoft |
Latest Release Version: | 10.0.10320 |
Programming Language: | C++ |
Operating System: | Microsoft Windows |
Genre: | Library |
License: | Common Public License, Microsoft Public License |
Windows Template Library (WTL) is a free software, object-oriented C++ template library for Win32 development. WTL was created by Microsoft employee Nenad Stefanovic for internal use and later released as an unsupported add-on to Visual Studio and the Win32 Framework SDK. It was developed primarily as a light-weight alternative to the Microsoft Foundation Classes and builds upon Microsoft's ATL, another lightweight API widely used to create COM and ActiveX libraries.
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, and other common UI elements, such as scrollable windows, splitter windows, toolbars and command bars. WTL's main objective is to deliver small and efficient code, close in size and speed to "straight" SDK programs while providing a higher-level and more flexible object model to developers. Other classes such as a string wrapper that is syntax-compatible with MFC's CString
and some templated collections are also included.
Most of the WTL API is a mirror of the standard Win32 calls, so the interface tends to be familiar to most Windows programmers. Although no official documentation from Microsoft exists, the WTL Documentation Project is attempting to create a comprehensive reference for the library.[1] The WTL is not supported by Microsoft Product Support Services.
While WTL is a template library and therefore code-based, the original license was similar to the one used for the Microsoft Foundation Class Library (MFC) source code, although it contained no usage or distribution restrictions. In 2004 Microsoft made the complete source code available under the Common Public License and released it through SourceForge. Since version 9.1, the library is licensed under the Microsoft Public License.[2]