WM_DESTROY

読み:ダブリューエム・アンダースコア・デストロイ
外語:WM_DESTROY 英語
品詞:固有名詞

Windowsにおけるウィンドウ メッセージの一つ。ウィンドウのクローズ時に送信される。

目次

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

#define WM_DESTROY                      0x0002

引数

  1. HWND ‐ ウィンドウハンドル
  2. UINT ‐ 0x0002 (WM_DESTROY)
  3. WPARAM ‐ (未使用)
  4. LPARAM ‐ (未使用)

返却値

動作

ウィンドウの終了時に送信される。

通常処理

通常は、このイベントで次のようにし、ウィンドウを閉じる。

case WM_DESTROY:
    PostQuitMessage(0);
    return 0;

あるいは、処理せず、そのままDefWindowProc()関数に遷移しても、同様の処理となる。

終了までの流れ

「閉じる」や×ボタンで閉じるまでの状態遷移は、次の通りである。

  • ウィンドウプロシージャにWM_SYSCOMMANDメッセージが送信される。
  • DefWindowProc()がこれを受け取ると、ウィンドウプロシージャにWM_CLOSEメッセージが送信される。
  • DefWindowProc()がWM_CLOSEを受け取ると、DestroyWindow()関数が呼び出される。
  • DestroyWindow()関数は、WM_DESTROYとWM_NCDESTROYメッセージをウィンドウに送る。

つまり、ウィンドウを閉じることを阻止するためには、WM_CLOSEを受け取ったら無視すればよいことになる。

用語の所属
Microsoft Windows
ウィンドウ メッセージ
関連する用語
WM_CLOSE
WM_QUERYENDSESSION

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


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