WM_COMMAND

読み:ダブリューエム・アンダースコア・コマンド
外語:WM_COMMAND 英語
品詞:固有名詞

Windowsにおけるウィンドウ メッセージの一つ。様々な通知メッセージの送受信で用いられる。

目次

UINT型の定数であり、WinUser.hで、以下のように定義される。

#define WM_COMMAND                      0x0111

引数

Win32/Win64

  1. HWND ‐ ウィンドウハンドル
  2. UINT ‐ 0x0111 (WM_COMMAND)
  3. WPARAM
    • WPARAM(HIGH) ‐ 通知コード
    • WPARAM(LOW) ‐ コントロール/メニューID
  4. LPARAM ‐ 送信元のウィンドウハンドル

Win16

かつてのWin16では、次のような仕様だった。

  1. HWND ‐ ウィンドウハンドル
  2. UINT ‐ 0x0111 (WM_COMMAND)
  3. WPARAM ‐ コントロール/メニューID
  4. LPARAM
    • LPARAM(HIGH) ‐ 通知コード
    • LPARAM(LOW) ‐ 送信元のウィンドウハンドル

返却値

動作

メニューが選択された、キーが押された、といった各種のイベントが通知される。

またアプリケーション内で、SendMessage()を用いて送信することもできる。

用途

Microsoft Visual C++であれば、メニューの項目、アクセラレーターキーなどに対応するコントロール/メニューIDはリソースエディタ等で定義することになり、各々は一意になるように管理される。

どのイベントが生じたかは、幾つかの判断方法がある。簡単には、コントロール/メニューID(Win32/Win64ならWPARAM(LOW)が該当)を見ることで判断できる。

他に、LPARAMをHWNDでキャストすれば送信元のウィンドウハンドルなので、これを保存して置いたハンドルと比較すればどのコントロールからの通知かを識別できる。

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club