WM_COMMAND
読み:ダブリューエム-アンダースコア-コマンド
外語:WM_COMMAND

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

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

仕様

引数

Win32/Win64
  1. HWND ‐ ウィンドウハンドル
  2. UINT ‐ 0x0111 (WM_COMMAND)
  3. WPARAM
  4. LPARAM ‐ 送信元のウィンドウハンドル

Win16
 かつてのWin16では、次のような仕様だった。
  1. HWND ‐ ウィンドウハンドル
  2. UINT ‐ 0x0111 (WM_COMMAND)
  3. WPARAM ‐ コントロール/メニューID
  4. LPARAM

返却値

特徴

動作
 メニューが選択された、キーが押された、といった各種のイベントが通知される。
 またアプリケーション内で、SendMessage()を用いて送信することもできる。

用途
 Microsoft Visual C++であれば、メニューの項目、アクセラレーターキーなどに対応するコントロール/メニューIDはリソースエディタ等で定義することになり、各々は一意になるように管理される。
 どのイベントが生じたかは、幾つかの判断方法がある。簡単には、コントロール/メニューID(Win32/Win64ならWPARAM(LOW)が該当)を見ることで判断できる。
 他に、LPARAMをHWNDでキャストすれば送信元のウィンドウハンドルなので、これを保存して置いたハンドルと比較すればどのコントロールからの通知かを識別できる。

再検索