Featured image of post Windows APIでのボタン(GUIコントロール)作成とイベント処理の実装方法

Windows APIでのボタン(GUIコントロール)作成とイベント処理の実装方法

GUIアプリケーションの基本である「ボタン」について、Windows標準のAPI(Win32 API)を用いた作成方法とクリック時のイベント処理(WM_COMMANDメッセージ)の実装方法をサンプルコード付きで解説します。

ボタンとは

ボタンは、GUIのコントールの一つでWindows標準のAPIで実装ができる。 画面上の領域をクリック(マウスの左ボタンダウン、マウスの左ボタンアップ)をすると、 プログラムで指定した処理を実行することができる。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
// ボタンの作成
CreateWindow(
    TEXT("BUTTON"),
    TEXT("Close"),
    WS_CHILD|WS_VISIBLE,
    10,10,128,30,
    hWnd,
    (HMENU)ID_BUTTON1,
    ((LPCREATESTRUCT)lParam)->hInstance,
    0);
    
    ...
    
    // クリックされたときにOSからウィンドウにWM_COMMANDメッセージが送信される。
    case WM_COMMAND:
        switch(LOWORD(wParam))
        {
            case ID_BUTTON1:
                SendMessage(hWnd,WM_CLOSE,0,0);
                break;
        }
        break;    

サンプルコードは下記に掲載しています。 button

comments powered by Disqus