Windows Template Library (WTL) is a
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
,
object-oriented
Object-oriented programming (OOP) is a programming paradigm based on the concept of " objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
C++ template
library
A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
for
Win32
The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces (APIs) available in the Microsoft Windows operating systems. The name Windows API collectively refers to several different platform implementations ...
development. WTL was created by
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
employee Nenad Stefanovic for internal use and later released as an unsupported add-on to
Visual Studio
Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such ...
and the Win32 Framework SDK. It was developed primarily as a light-weight alternative to the
Microsoft Foundation Classes
Microsoft Foundation Class Library (MFC) is a C++ object-oriented library for developing desktop applications for Windows.
MFC was introduced by Microsoft in 1992 and quickly gained widespread use. While Microsoft has introduced alternative ap ...
and builds upon Microsoft's
ATL
ATL may refer to:
Places
* Atlanta, a city in the U.S. state of Georgia
** Hartsfield–Jackson Atlanta International Airport (IATA airport code)
** Peachtree station (Amtrak station code)
* Attleborough railway station, located in Norfolk, Engl ...
, another lightweight API widely used to create
COM and
ActiveX
ActiveX is a deprecated software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly from the World Wide Web. ...
libraries.
Overview
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
GDI may refer to:
Science and technology
* Gasoline direct injection, a type of fuel injection
* Graphics Device Interface, a component of Microsoft Windows
* Guanosine nucleotide dissociation inhibitor, a protein
Organisations
* Gabriel Dumont ...
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. The WTL is not supported by
Microsoft Product Support Services.
Licensing
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
Microsoft Foundation Class Library (MFC) is a C++ object-oriented library for developing desktop applications for Windows.
MFC was introduced by Microsoft in 1992 and quickly gained widespread use. While Microsoft has introduced alternative ap ...
(MFC) source code, although it contained no usage or distribution restrictions. In 2004 Microsoft made the complete
source code
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
available under the
Common Public License
In computing, the Common Public License (CPL) is a free software / open-source software license published by IBM. The Free Software Foundation and Open Source Initiative have approved the license terms of the CPL.
Definition
The CPL has the ...
and released it through
SourceForge
SourceForge is a web service that offers software consumers a centralized online location to control and manage open-source software projects and research business software. It provides source code repository hosting, bug tracking, mirrori ...
. Since version 9.1, the library is licensed under the
Microsoft Public License
The Shared Source Initiative (SSI) is a source-available software licensing scheme launched by Microsoft in May 2001. The program includes a spectrum of technologies and licenses, and most of its source code offerings are available for download aft ...
.
Download pages for WTL version 7.5, 8.0, 9.0, 9.1 and 10
/ref>
See also
* Active Template Library
* Microsoft Foundation Class Library
Microsoft Foundation Class Library (MFC) is a C++ object-oriented library for developing desktop applications for Windows.
MFC was introduced by Microsoft in 1992 and quickly gained widespread use. While Microsoft has introduced alternative ap ...
* Visual Component Library
The Visual Component Library (VCL) is a visual component-based object-oriented framework for developing the user interface of Microsoft Windows applications. It is written in Object Pascal.
History
The VCL was developed by Borland for u ...
* Object Windows Library
* Windows Runtime Library
Windows Runtime (WinRT) is a platform-agnostic component and application architecture first introduced in Windows 8 and Windows Server 2012 in 2012. It is implemented in C++ and officially supports development in C++ (via C++/WinRT, C++/CX or ...
References
External links
*
Microsoft's download page
for WTL 7.5
Microsoft's download page
for WTL 8.0
WTL 8.1 (2011-11-21)
- An Effort to Create Documentation for the WTL Programming Library.
"Using the Windows Template Library Part 1"
"Using the Windows Template Library Part 2"
"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)
{{Use mdy dates, date=October 2018
C++ libraries
Free computer libraries
Free software projects
Template Library
Object-oriented programming
Windows-only free software
Software using the CPL license
Software using the MS-PL license