2. WTL ?
• Windows Template Library(WTL)는 마이크로 소프트에 의해 Win32를 랩
(캡슐화) 하는 오브젝트 지향 C++라이브러리.
• WTL은 프로그래머가 사용하는 API 중의 하나이다.
• MFC의 가벼운 대체용으로 개발됐다.
• WTL은 마이크로 소프트 ATL(COM 및 ActiveX을 위한 또 하나의 경량 API)
를 확장한 것이다.
3. • WTL은 작고 고속인 코드라는 큰 이점이 있는 ATL에 대해서, 애플리케이션
이나 다양한 UI 컴포넌트 양쪽 모두를 위해 보다 복잡한 사용자 인터페이
스를 지원하도록 ATL을 확장하는 클래스의 세트이다.
• WTL의 클래스는 ATL 기반의 애플리케이션 서버, 컴포넌트, 컨트롤에 대해
서 리치한 Win32 기반의 UI을 구현하기 위한 최적이면서 간단한 방법이 되
도록 설계됐다.
• WTL은 프레임과 팝업 창을 비롯하여 MDI 표준·공통 제어 공통 대화 상자,
속성 시트나 페이지,GDI객체, UI업데이트, 스크롤 바 창, 스플리터 창, 커맨
드 바 등 다양한 사용자 인터페이스 요소를 지원한다.
• WTL 클래스는 주로 템플릿이며 최소한의 인스턴스 데이터와 인라인 함수
를 사용한다. 이들은 프레임워크로 디자인된 것이 아니기 때문에 특정 애
플리케이션 모델을 강제하지 않고 어떤 스타일에서도 받아들여진다.
4. • 클래스는 hook이나 스레드 로컬 메모리 영역을 이용하지 않으므로 이들
기술의 강요에 제약되지 않는다. 이것들에게는 종속 관계가 없는 스트레이
트 하게 SDK의 코드와 자유롭게 섞일 수 있다.
• 요컨대 WTL은 보다 논리적이고 객체 지향적인 모델을 프로그래머에 제공
하면서도 SDK에 의한 프로그램과 비교해도 사이즈와 속도에서 거의 손색
이 없는 매우 작고 효율적인 코드를 출력한다.
• WTL의 많은 API는 표준 Win32와 직접적으로 대응하고 있고 많은
Windows 프로그래머에게 익숙한 인터페이스이다.
• 그러나 마이크로 소프트의 공식 문서는 존재하지 않고 이 문제에 맞서기
위해 "WTL Documentation“ 프로젝트가 출범했지만 현재도 아직 문서는
완전하지 않다.
• 마이크로 소프트는 2004년 5월 오픈 소스라이선스에 기초하여 WTL의 소
스 코드를 자유롭게 이용하도록 했다