Windows_Template_Libraryとは? わかりやすく解説

Windows Template Library

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/04/19 04:48 UTC 版)

ナビゲーションに移動 検索に移動
Windows Template Library
開発元 Microsoft
最新版 10.0.8356 / 2018年12月22日(15か月前) (2018-12-22
リポジトリ git.code.sf.net/p/wtl/git
プログラミング言語 C++
対応OS Microsoft Windows
種別 ライブラリ
ライセンス Common Public License / Microsoft Public License
公式サイト sourceforge.net/projects/wtl/
テンプレートを表示

Windows Template Library (WTL) はマイクロソフトによるWin32をラップ(カプセル化)するオブジェクト指向C++ライブラリ。WTLはプログラマが利用するAPIの1つである。MFCの軽量な代替として開発された。WTLはマイクロソフトのATLCOMActiveXのためのもう1つの軽量API)を拡張する。

概要

WTLは、小さくて高速なコードという大きな利点のあるATLに対して、アプリケーションや様々なUIコンポーネントの両方のために、より複雑なユーザーインターフェイスをサポートするようにATLを拡張するクラスのセットである。WTLのクラスは、ATLベースのアプリケーション、サーバ、コンポーネント、コントロールに対して、リッチなWin32ベースのUIを実装するための最適かつ簡単な方法であるように設計された。

WTLは、フレームやポップアップウィンドウを初めとして、MDI、標準・コモンコントロール、コモンダイアログ、プロパティシートやページ、GDIオブジェクト、UIのアップデート、スクロールバーウィンドウ、スプリッターウィンドウ、コマンドバーなど、様々なユーザーインターフェイスの要素をサポートする。WTLのクラスは主にテンプレートであり、最小限のインスタンスデータとインライン関数を使う。これらはフレームワークとしてデザインされたものではないため、特定のアプリケーションモデルを強制せず、どのようなスタイルでも受け入れられる。クラスはフックやスレッドローカルのメモリ領域を利用しないのでこれらのテクニックの押しつけに制約されない。これらには従属関係が無く、ストレートなSDKのコードと自由に混ぜることができる。要するに、WTLは、より論理的でオブジェクト指向的なモデルをプログラマに提供しつつも、SDKによるプログラムと比べてもサイズとスピードでほとんど遜色のない非常に小さくて効率的なコードを出力する。

WTLの多くのAPIは標準のWin32と直接的に対応しており、多くのWindowsプログラマーにとってなじみの深いインターフェイスである。しかしながらマイクロソフトによる公式のドキュメントは存在せず、この問題に立ち向かうため"WTL Documentation"プロジェクト[1]がスタートしたが、現在[いつ?]でもまだドキュメントは完全ではない。

歴史

マイクロソフトは2004年5月、オープンソースライセンスに基づいてWTLのソースコードを自由に利用できるようにした。マイクロソフトはSourceForge.netというインターネット上のオープンソースコードのためのリポジトリにソースコードを投稿し、Common Public Licenseに基づいてリリースした。このライブラリはバージョン7.5の時点で、Microsoft Permissive Licenseとのデュアルライセンスでもあった[2]

プログラム例

Hello worldを表示するプログラムである。

#include <windows.h>
//ATLヘッダ
#define _ATL_NO_AUTOMATIC_NAMESPACE
#include <atlbase.h>
#include <atlwin.h>
//WTLヘッダ
#define _WTL_NO_AUTOMATIC_NAMESPACE
#include <atlapp.h>
#include <atlcrack.h>

class HelloWindow : public ATL::CWindowImpl<HelloWindow>
{
public:
    // ウィンドウクラス名を登録
    DECLARE_WND_CLASS(TEXT("HelloWindow"));

private:
    // メッセージマップ
    BEGIN_MSG_MAP(HelloWindow)
        MSG_WM_PAINT(OnPaint)
        MSG_WM_DESTROY(OnDestroy)
    END_MSG_MAP()

    // 描画メッセージ
    void OnPaint(HDC)
    {
        WTL::CPaintDC dc(m_hWnd);
        dc.TextOut(10, 10, TEXT("Hello, world"), -1);
    }

    // ウィンドウが破棄されるメッセージ
    void OnDestroy()
    {
        PostQuitMessage(0);
    }
};

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int nCmdShow)
{
    // ウィンドウのインタンスを生成
    HelloWindow wnd;
    if (!wnd.Create(NULL, ATL::CWindow::rcDefault, TEXT("Hello, world"), WS_OVERLAPPEDWINDOW))
    {
    	return -1;
    }

    // ウィンドウ表示
    wnd.ShowWindow(nCmdShow);
    wnd.UpdateWindow();

    // メッセージループ
    WTL::CMessageLoop msgLoop;
    return msgLoop.Run();
}

関連項目

外部リンク


Windows Template Library (WTL)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/07 20:30 UTC 版)

Windows API」の記事における「Windows Template Library (WTL)」の解説

ATL拡張として作られ軽量Windows APIラッパー。現在[いつ?]はCPLに基づくオープンソースとなっている。

※この「Windows Template Library (WTL)」の解説は、「Windows API」の解説の一部です。
「Windows Template Library (WTL)」を含む「Windows API」の記事については、「Windows API」の概要を参照ください。

ウィキペディア小見出し辞書の「Windows_Template_Library」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

「Windows Template Library」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Windows_Template_Library」の関連用語

Windows_Template_Libraryのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Windows_Template_Libraryのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのWindows Template Library (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのWindows API (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS