Hello, Win32 GUI(WTL) World!

Posted on 7月 4th, 2012 by cx20

Win32 GUI(WTL)

Win32 アプリケーションは Windows 標準 API である Win32 API を使用した Windows アプリケーションである。
以下は VC++(WTL) における Win32 GUI アプリケーション の例となっている。

ソースコード

#include <atlbase.h>
#include <atlapp.h>
#include <atlcrack.h>
 
class CHelloWindow : public CWindowImpl<CHelloWindow>
{
    BEGIN_MSG_MAP( CHelloWindow )
        MSG_WM_PAINT   ( OnPaint   )
        MSG_WM_DESTROY ( OnDestroy )
    END_MSG_MAP()
 
    void OnPaint( HDC hDC )
    {
        CPaintDC dc( m_hWnd );
        LPCTSTR lpszMessage = _T("Hello, Win32 GUI(WTL) World!");
        dc.TextOut( 0, 0, lpszMessage, lstrlen(lpszMessage) );
    }
    void OnDestroy()
    {
        PostQuitMessage( 0 );
    }
};
 
CAppModule _Module;
 
int APIENTRY _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow )
{
    _Module.Init(NULL, hInstance);
 
    CMessageLoop theLoop;
    _Module.AddMessageLoop(&theLoop);
 
    CHelloWindow wnd;
    wnd.Create( NULL, CWindow::rcDefault, _T("Hello, World!"), WS_OVERLAPPEDWINDOW | WS_VISIBLE );
    wnd.ResizeClient( 640, 480 );
    int nRet = theLoop.Run();
 
    _Module.RemoveMessageLoop();
    _Module.Term();
 
    return nRet;
}

コンパイル方法

C:¥> SET INCLUDE=<WTL>Include;%INCLUDE
C:¥> cl hello.cpp

実行結果

+------------------------------------------+
|Hello, World!                    [_][~][X]|
+------------------------------------------+
|Hello, Win32 GUI(WTL) World!              |
|                                          |
|                                          |
|                                          |
|                                          |
|                                          |
|                                          |
|                                          |
|                                          |
|                                          |
+------------------------------------------+

Tags:

Categories: Win32 API, Win32 GUI, WTL

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

WP-SpamFree by Pole Position Marketing