以下の内容はhttps://www.weblio.jp/content/Windows_Template_Libraryより取得しました。


ウィキペディアウィキペディア

Windows Template Library

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/05/12 17:06 UTC 版)

Windows Template Library
開発元 Microsoft
最新版
10.0.10320 / 2020年11月16日 (4年前) (2020-11-16)
リポジトリ
プログラミング
言語
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」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

辞典・百科事典の検索サービス - Weblio辞書辞典・百科事典の検索サービス - Weblio辞書

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

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



固有名詞の分類

ライブラリ (プログラミング) 標準Cライブラリ  EISPACK  Windows Template Library  Intrinsics  PARI/GP
マイクロソフトのAPI Web プラットフォーム インストーラー  WinG  Windows Template Library  Microsoft Windows Installer  Background Intelligent Transfer Service
C++ Typedef  ワイド文字  Windows Template Library  Intel C++ Compiler  標準C++ライブラリ



以上の内容はhttps://www.weblio.jp/content/Windows_Template_Libraryより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14