Введение

Windows Template Library (WTL) — это бесплатная объектно-ориентированная библиотека шаблонов C++ для разработки под Win32. WTL был создан сотрудником Microsoft Ненадом Стефановичем для внутреннего использования и позднее выпущен как дополнение без поддержки к Visual Studio и Win32 Framework SDK. Он разрабатывался прежде всего как легковесная альтернатива Microsoft Foundation Classes и основан на ATL от Microsoft — другом легковесном API, широко используемом для создания библиотек COM и ActiveX.

Обзор

WTL предоставляет поддержку для реализации различных элементов пользовательского интерфейса, от окон фреймов и всплывающих окон до MDI, стандартных и общих элементов управления, стандартных диалоговых окон, листов свойств и страниц, объектов GDI и других распространенных элементов пользовательского интерфейса, таких как окна с полосами прокрутки, окна-разделители, панели инструментов и командные панели. Основная цель WTL – предоставление компактного и эффективного кода, по размеру и скорости сопоставимого с программами, написанными непосредственно с использованием SDK, при этом обеспечивая разработчикам более высокий уровень абстракции и гибкую объектную модель. Также включены другие классы, такие как обертка для строк, синтаксически совместимая с CString из MFC, и некоторые шаблонные коллекции. Большая часть API WTL является отражением стандартных вызовов Win32, поэтому интерфейс обычно знаком большинству программистов Windows. Несмотря на отсутствие официальной документации от Microsoft, проект WTL Documentation Project стремится создать исчерпывающее руководство по библиотеке. WTL не поддерживается службой поддержки продуктов Microsoft.

Лицензирование

В то время как WTL является библиотекой шаблонов и, следовательно, основана на коде, её первоначальная лицензия была аналогична лицензии, использованной для исходного кода Microsoft Foundation Class Library (MFC), хотя она не содержала ограничений на использование или распространение. В 2004 году Microsoft предоставила полный исходный код под лицензией Common Public License и опубликовала его на SourceForge. Начиная с версии 9.1, библиотека лицензируется по Microsoft Public License.