Window メッセージ

 覚えていーますーかー♪

Windows Message 最小要件 説明
WM_NULL$0000特に意味はありません。特定のウィンドウにこのメッセージを投げてタイムアウトするかどうかで生存確認を行う事ができます。
WM_CREATE$0001ウィンドウが作成されていることを示します。
WM_DESTROY$0002ウィンドウが破棄されようとしていることを示します。
WM_MOVE$0003ウィンドウの位置が変更されたことを示します。
WM_SIZE$0005ウィンドウのサイズが変更されていることを示します。
WM_ACTIVATE$0006アクティブ状態が変更されていることを示します。
WM_SETFOCUS$0007ウィンドウがキーボード フォーカスを取得したことを示します。
WM_KILLFOCUS$0008ウィンドウがキーボード フォーカスを失っていることを示します。
WM_ENABLE$000Aウィンドウの有効または無効の状態が変更されていることを示します。
WM_SETREDRAW$000Bウィンドウ内の再描画を許可または禁止します。
WM_SETTEXT$000Cウィンドウのテキストを設定します。
WM_GETTEXT$000Dウィンドウに対応するテキストを取得します。
WM_GETTEXTLENGTH$000Eウィンドウに関連付けられているテキストの長さを取得します。
WM_PAINT$000Fウィンドウのクライアント領域を描画する必要があることを示します。
WM_CLOSE$0010コントロール メニューの[クローズ]コマンドが選ばれました。
WM_QUERYENDSESSION$0011Windowsセッションを終了するよう要求します。
WM_QUIT$0012アプリケーションを強制終了するよう要求します。
WM_QUERYOPEN$0013アイコン化ウィンドウを復元するよう要求します。
WM_ERASEBKGND$0014ウィンドウの背景を消去する必要があることを示します。
WM_SYSCOLORCHANGE$0015システム カラーの値が変更されたことを示します。
WM_ENDSESSION$0016Windowsセッションが終了することを示します。
WM_SYSTEMERROR$0017(Win32 ではもはや用いられません)
WM_SHOWWINDOW$0018ウィンドウの表示または非表示の状態が変更されようとしていることを示します。
WM_CTLCOLOR$0019子コントロールが描画される直前であることを示します。
WM_WININICHANGE$001AWIN.INIが変更されたことをアプリケーションに通知します。
WM_SETTINGCHANGEWM_WININICHANGEWindows の設定が変更されたことをアプリケーションに通知します。
詳細は "自動回転に応答させる (スレート PC プログラミング)" にて。
WM_DEVMODECHANGE$001Bデバイス モードの設定が変更されたことを示します。
WM_ACTIVATEAPP$001C新しいタスクがアクティブになるタイミングをアプリケーションに通知します。
WM_FONTCHANGE$001Dフォント リソース プールが変更されていることを示します。
WM_TIMECHANGE$001Eシステム時刻が設定されたことを示します。
WM_CANCELMODE$001F内部モードをキャンセルするようウィンドウに通知します。
WM_SETCURSOR$0020マウス カーソルの形状を設定するようウィンドウに促します。
WM_MOUSEACTIVATE$0021非アクティブ ウィンドウ内でマウスがクリックされたことを示します。
WM_CHILDACTIVATE$0022子ウィンドウにアクティブであることを通知します。
WM_QUEUESYNC$0023CBTメッセージを区切ります。
WM_GETMINMAXINFO$0024アイコン表示時および最大表示時のサイズ情報を取得します。
WM_PAINTICON$0026アイコンが描画されようとしています。
WM_ICONERASEBKGND$0027アイコンの背景を塗りつぶすようアイコン化ウィンドウに通知します。
WM_NEXTDLGCTL$0028フォーカスを別のダイアログ ボックス コントロールに設定します。
WM_SPOOLERSTATUS$002A印刷ジョブが追加または削除されたことを示します。(XP 以降ではサポートされません)
WM_DRAWITEM$002Bオーナー描画コントロールまたはオーナー描画メニューを再描画する必要があることを示します。
WM_MEASUREITEM$002Cオーナー描画のコントロールまたは項目の寸法を要求します。
WM_DELETEITEM$002Dほかのオーナー描画項目またはオーナー描画コントロールに代わったことを示します。
WM_VKEYTOITEM$002Eリスト ボックスのキーストロークをそのオーナー ウィンドウに提供します。
WM_CHARTOITEM$002Fリスト ボックスのキーストロークをそのオーナー ウィンドウに提供します。
WM_SETFONT$0030コントロールで使われるフォントを設定します。
WM_GETFONT$0031コントロールで使われているフォントを取得します。
WM_SETHOTKEY$0032ウィンドウにホット キーを関連付けます。
WM_GETHOTKEY$0033ウィンドウのホット キーの仮想キー コードを取得します。
WM_QUERYDRAGICON$0037アイコン化ウィンドウに対してマウス カーソルのハンドルを要求します。
WM_COMPAREITEM$0039コンボ ボックスまたはリスト ボックスの項目位置を判断します。
WM_GETOBJECT$003D
WM_COMPACTING$0041メモリ不足状態であることを示します。
WM_COMMNOTIFY$0044(Win32 ではもはや用いられません)
WM_WINDOWPOSCHANGING$0046ウィンドウに新しいサイズまたは位置を通知します。
WM_WINDOWPOSCHANGED$0047ウィンドウにサイズまたは位置の変更を通知します。
WM_POWER$0048システムが中断モードに入っていることを示します。
WM_COPYDATA$004Aほかのアプリケーションにデータを渡します。
WM_CANCELJOURNAL$004Bユーザーがジャーナル モードをキャンセルしました。
WM_NOTIFY$004E
WM_INPUTLANGCHANGEREQUEST$0050
WM_INPUTLANGCHANGE$0051
WM_TCARD$0052Windows XP
WM_HELP$0053Windows XP
WM_USERCHANGED$0054Windows XPユーザがログオン/ログオフしたことを示します。
WM_NOTIFYFORMAT$0055
WM_CONTEXTMENU$007B
WM_STYLECHANGING$007CSetWindowLong() によってウィンドウのスタイルが変更されようとしています。
WM_STYLECHANGED$007DSetWindowLong() によってウィンドウのスタイルが変更されました。
WM_DISPLAYCHANGE$007Eディスプレイの解像度が変更されたことを示します。
詳細は "画面の向きを変更する (スレート PC プログラミング)" にて。
WM_GETICON$007F
WM_SETICON$0080
WM_NCCREATE$0081ウィンドウの非クライアント領域が作成されていることを示します。
WM_NCDESTROY$0082ウィンドウの非クライアント領域が破棄されていることを示します。
WM_NCCALCSIZE$0083ウィンドウのクライアント領域のサイズを計算します。
WM_NCHITTEST$0084マウス カーソルが移動したことを示します。
WM_NCPAINT$0085ウィンドウの枠を描画する必要があることを示します。
WM_NCACTIVATE$0086非クライアント領域のアクティブ状態を変更します。
WM_GETDLGCODE$0087ダイアログ プロシージャがコントロール入力を処理できるようにします。
WM_NCMOUSEMOVE$00A0非クライアント領域でマウス カーソルが移動したことを示します。
WM_NCLBUTTONDOWN$00A1非クライアント領域でマウスの左ボタンが押されたことを示します。
WM_NCLBUTTONUP$00A2非クライアント領域でマウスの左ボタンが離されたことを示します。
WM_NCLBUTTONDBLCLK$00A3非クライアント領域でマウスの左ボタンをダブルクリックしたことを示します。
WM_NCRBUTTONDOWN$00A4非クライアント領域でマウスの右ボタンが押されたことを示します。
WM_NCRBUTTONUP$00A5非クライアント領域でマウスの右ボタンが離されたことを示します。
WM_NCRBUTTONDBLCLK$00A6非クライアント領域でマウスの右ボタンをダブルクリックしたことを示します。
WM_NCMBUTTONDOWN$00A7非クライアント領域でマウスの中央ボタンが押されたことを示します。
WM_NCMBUTTONUP$00A8非クライアント領域でマウスの中央ボタンが離されたことを示します。
WM_NCMBUTTONDBLCLK$00A9非クライアント領域でマウスの中央ボタンをダブルクリックしたことを示します。
WM_NCXBUTTONDOWN$00AB非クライアント領域でマウスの 4 つ目以降のボタンが押されたことを示します。
WM_NCXBUTTONUP$00AC非クライアント領域でマウスの 4 つ目以降のボタンが離されたことを示します。
WM_NCXBUTTONDBLCLK$00AD非クライアント領域でマウスの 4 つ目以降のボタンをダブルクリックしたことを示します。
WM_INPUT_DEVICE_CHANGE$00FEWindows Vista
WM_INPUT$00FFWindows XPRAW Input Device (キーボード/マウス/リモコン等) からの入力があったことを示します。
詳細は "WindowsXP (SP1以降)でMCE対応リモコンを使う" にて。
WM_KEYFIRST$0100
WM_KEYDOWN$0100非システム キーが押されたことを示します。
WM_KEYUP$0101非システム キーが離されたことを示します。
WM_CHAR$0102ユーザーが文字キーを押したことを示します。
WM_DEADCHAR$0103ユーザーがデッド キーを押したことを示します。
WM_SYSKEYDOWN$0104Alt+任意のキーが押されたことを示します。
WM_SYSKEYUP$0105Alt+任意のキーが離されたことを示します。
WM_SYSCHAR$0106コントロール メニュー キーが押されたことを示します。
WM_SYSDEADCHAR$0107システム デッド キーが押されたを示します。
WM_UNICHAR$0109Windows XP
WM_KEYLAST$0109
WM_INITDIALOG$0110ダイアログ ボックスを初期化します。
WM_COMMAND$0111コマンド メッセージを指定します。
WM_SYSCOMMAND$0112システム コマンドが要求されたことを示します。
WM_TIMER$0113タイマのタイムアウト時間が経過したことを示します。
WM_HSCROLL$0114水平スクロール バーがクリックされたことを示します。
WM_VSCROLL$0115垂直スクロール バーがクリックされたことを示します。
WM_INITMENU$0116メニューがアクティブ化されようとしていることを示します。
WM_INITMENUPOPUP$0117ポップアップ メニューが作成されていることを示します。
WM_GESTURE$0119Windows 7ジェスチャに関する情報を渡します。
WM_GESTURENOTIFY$011AWindows 7ジェスチャ構成を設定できます。
WM_MENUSELECT$011Fユーザーがメニュー項目を選択したことを示します。
WM_MENUCHAR$0120未知のメニュー ニーモニックが押されたを示します。
WM_ENTERIDLE$0121モーダル ダイアログ ボックスまたはメニューがアイドルであることを示します。
WM_MENURBUTTONUP$0122メニュー項目にカーソルがある状態でマウスの右ボタンが離されたことを示します。
WM_MENUDRAG$0123
WM_MENUGETOBJECT$0124
WM_UNINITMENUPOPUP$0125
WM_MENUCOMMAND$0126
WM_CHANGEUISTATE$0127
WM_UPDATEUISTATE$0128
WM_QUERYUISTATE$0129
WM_CTLCOLORMSGBOX$0132メッセージ ボックスが描画されようとしています。
WM_CTLCOLOREDIT$0133エディット コントロールが描画されようとしています。
WM_CTLCOLORLISTBOX$0134リスト ボックスが描画されようとしています。
WM_CTLCOLORBTN$0135ボタンが描画されようとしています。
WM_CTLCOLORDLG$0136ダイアログ ボックスが描画されようとしています。
WM_CTLCOLORSCROLLBAR$0137スクロール バーが描画されようとしていることを示します。
WM_CTLCOLORSTATIC$0138スタティック コントロールが描画されようとしています。
WM_MOUSEFIRST$0200
WM_MOUSEMOVE$0200マウス カーソルが移動したことを示します。
WM_LBUTTONDOWN$0201左のマウス ボタンがいつ押されたかを示します。
WM_LBUTTONUP$0202左のマウス ボタンがいつ離されたかを示します。
WM_LBUTTONDBLCLK$0203マウスの左ボタンをダブルクリックしたことを示します。
WM_RBUTTONDOWN$0204マウスの右ボタンがいつ押されたかを示します。
WM_RBUTTONUP$0205マウスの右ボタンがいつ離されたかを示します。
WM_RBUTTONDBLCLK$0206マウスの右ボタンをダブルクリックしたことを示します。
WM_MBUTTONDOWN$0207中央のマウス ボタンがいつ押されたかを示します。
WM_MBUTTONUP$0208中央のマウス ボタンがいつ離されたかを示します。
WM_MBUTTONDBLCLK$0209マウスの中央ボタンをダブルクリックしたことを示します。
WM_MOUSEWHEEL$020Aマウス ホイールが回転した事を示します。
WM_XBUTTONDOWN$020Bマウスの 4 つ目以降のボタンがいつ押されたかを示します。
WM_XBUTTONUP$020Cマウスの 4 つ目以降のボタンがいつ離されたかを示します。
WM_XBUTTONDBLCLK$020Dマウスの 4 つ目以降のボタンをダブルクリックしたことを示します。
WM_MOUSEHWHEEL$020Eマウス ホイールが回転した事を示します。
WM_MOUSELAST$020E
WM_PARENTNOTIFY$0210(Windows 8)親ウィンドウに子ウィンドウのアクティブ状態を通知します。
WM_ENTERMENULOOP$0211メニューのモーダル ループを開始します。
WM_EXITMENULOOP$0212メニューのモーダル ループを終了します。
WM_NEXTMENU$0213
WM_SIZING532
WM_CAPTURECHANGED533
WM_MOVING534
WM_POWERBROADCAST536
WM_DEVICECHANGE537
WM_IME_STARTCOMPOSITION$010D
WM_IME_ENDCOMPOSITION$010E
WM_IME_COMPOSITION$010F
WM_IME_KEYLAST$010F
WM_MDICREATE$0220子ウィンドウを作成するようMDIクライアントに促します。
WM_MDIDESTROY$0221MDI子ウィンドウをクローズします。
WM_MDIACTIVATE$0222MDI子ウィンドウをアクティブ化します。
WM_MDIRESTORE$0223子ウィンドウを復元するようMDIクライアントに促します。
WM_MDINEXT$0224次のMDI子ウィンドウをアクティブ化します。
WM_MDIMAXIMIZE$0225MDI子ウィンドウを最大化します。
WM_MDITILE$0226MDI子ウィンドウを並べて整列させます。
WM_MDICASCADE$0227MDI子ウィンドウを重ねて整列させます。
WM_MDIICONARRANGE$0228アイコン化されたMDI子ウィンドウを整列します。
WM_MDIGETACTIVE$0229アクティブなMDI子ウィンドウに関するデータを取得します。
WM_MDISETMENU$0230MDIフレーム ウィンドウのメニューを置き換えます。
WM_ENTERSIZEMOVE$0231ウィンドウのサイズ変更/移動が行われる前に通知されます。
WM_EXITSIZEMOVE$0232ウィンドウのサイズ変更/移動が行われた後に通知されます。
WM_DROPFILES$0233ファイルがドロップされたことを示します。
WM_MDIREFRESHMENU$0234MDIフレーム ウィンドウのメニューを最新表示します。
WM_POINTERDEVICECHANGE$0238Windows 8
WM_POINTERDEVICEINRANGE$0239Windows 8
WM_POINTERDEVICEOUTOFRANGE$023AWindows 8
WM_TOUCH$0240Windows 71 つ以上の接触点 (指やペンなど) がタッチセンサー式デジタイザーの表面に触れたときにウィンドウに通知します。
WM_NCPOINTERUPDATE$0241Windows 8
WM_NCPOINTERDOWN$0242Windows 8
WM_NCPOINTERUP$0243Windows 8
WM_POINTERUPDATE$0245Windows 8
WM_POINTERDOWN$0246Windows 8
WM_POINTERUP$0247Windows 8
WM_POINTERENTER$0249Windows 8
WM_POINTERLEAVE$024AWindows 8
WM_POINTERACTIVATE$024BWindows 8
WM_POINTERCAPTURECHANGED$024CWindows 8
WM_TOUCHHITTESTING$024DWindows 8
WM_POINTERWHEEL$024EWindows 8
WM_POINTERHWHEEL$024FWindows 8
WM_POINTERROUTEDTO$0251Windows 10
WM_POINTERROUTEDAWAY$0252Windows 10
WM_POINTERROUTEDRELEASED$0253Windows 10
WM_IME_SETCONTEXT$0281
WM_IME_NOTIFY$0282
WM_IME_CONTROL$0283
WM_IME_COMPOSITIONFULL$0284
WM_IME_SELECT$0285
WM_IME_CHAR$0286
WM_IME_REQUEST$0288
WM_IME_KEYDOWN$0290
WM_IME_KEYUP$0291
WM_MOUSEHOVER$02A1マウスがウィンドウのクライアントエリア上でホバリングしてから、TrackMouseEvent 関数への呼び出しであらかじめ指定された時間が経過しました。
WM_MOUSELEAVE$02A3マウスが、TrackMouseEvent 関数への呼び出しであらかじめ指定されたウィンドウのクライアントエリアを離れました。
WM_NCMOUSEHOVER$02A0TrackMouseEvent の前回の呼び出しで指定されている時間のあいだカーソルがウィンドウの非クライアント領域に置かれていました。
WM_NCMOUSELEAVE$02A2マウスが、TrackMouseEvent の前回の呼び出しで指定されている時間のあいだカーソルがウィンドウの非クライアント領域から出ていました。
WM_WTSSESSION_CHANGE$02B1Windows XPユーザーの簡易切り替えが行われました。
WM_TABLET_DEFBASE$02C0
WM_TABLET_ADDEDWM_TABLET_DEFBASE + 8Windows XP
Tablet PC Edition
WM_TABLET_DELETEDWM_TABLET_DEFBASE + 9Windows XP
Tablet PC Edition
WM_TABLET_FLICKWM_TABLET_DEFBASE + 11Windows Vistaフリック入力があったことを示します。
詳細は "フリックの挙動 (スレート PC プログラミング)" にて。
WM_TABLET_QUERYSYSTEMGESTURESTATUSWM_TABLET_DEFBASE + 12Windows Vista
WM_DPICHANGED$02E0Windows 8.1ディスプレイの DPI が変更された時に発生します。
WM_CUT$0300選択項目を削除し、 クリップボードにコピーします。
WM_COPY$0301クリップボードに選択項目をコピーします。
WM_PASTE$0302クリップボード データをエディット コントロールに挿入します。
WM_CLEAR$0303エディット コントロールをクリアします。
WM_UNDO$0304エディット コントロール内での直前の操作を取り消します。
WM_RENDERFORMAT$0305クリップボード データをレンダするようオーナーに通知します。
WM_RENDERALLFORMATS$0306すべてのクリップボード形式をレンダするようオーナーに通知します。
WM_DESTROYCLIPBOARD$0307クリップボードが空になったことをオーナーに通知します。
WM_DRAWCLIPBOARD$0308クリップボードの内容が変更されたことを示します。
WM_PAINTCLIPBOARD$0309クリップボードの内容を表示するようオーナーに促します。
WM_VSCROLLCLIPBOARD$030Aクリップボードの内容をスクロールするようオーナーに促します。
WM_SIZECLIPBOARD$030Bクリップボードのサイズが変更されていることを示します。
WM_ASKCBFORMATNAME$030C新しいタスクがアクティブになるタイミングをアプリケーションに通知します。
WM_CHANGECBCHAIN$030Dクリップボード ビューアのチェインからの除去を通知します。
WM_HSCROLLCLIPBOARD$030Eクリップボードの内容をスクロールするようオーナーに促します。
WM_QUERYNEWPALETTE$030Fウィンドウがその論理パレットを実現できるようにします。
WM_PALETTEISCHANGING$0310パレットが変更されていることを各ウィンドウに通知します。
WM_PALETTECHANGED$0311フォーカス ウィンドウがそのパレットを実現したことを示します。
WM_HOTKEY$0312ホット キーが検出されています。
WM_PRINT$0317
WM_PRINTCLIENT$0318
WM_APPCOMMAND$0319アプリケーション コマンドが要求されたことを示します。
詳細は "WindowsXP (SP1以降)でMCE対応リモコンを使う" にて。
WM_THEMECHANGED$031AWindows XPWindows のテーマが変更された事を示します。
詳細は "コントロールをテーマでオーナードロー" にて。
WM_CLIPBOARDUPDATE$031DWindows Vista
WM_DWMCOMPOSITIONCHANGED$031EWindows VistaDWM 合成の設定が変更された事を示します。
WM_DWMNCRENDERINGCHANGED$031FWindows VistaDWM レンダリングがクライアント領域外で変更された事を示します。
WM_DWMCOLORIZATIONCOLORCHANGED$0320Windows VistaDWM 合成の基準となる配色が変更された事を示します。
WM_DWMWINDOWMAXIMIZEDCHANGE$0321Windows VistaDWM 合成ウィンドウが最大化または最大化解除された事を示します。
WM_DWMSENDICONICTHUMBNAIL$0323Windows 7
WM_DWMSENDICONICLIVEPREVIEWBITMAP$0326Windows 7
WM_GETTITLEBARINFOEX$033FWindows Vista
WM_HANDHELDFIRST$0358
WM_HANDHELDLAST$035F
WM_PENWINFIRST$0380
WM_PENWINLAST$038F
WM_COALESCE_FIRST$0390
WM_COALESCE_LAST$039F
WM_DDE_FIRST$03E0
WM_DDE_INITIATEWM_DDE_FIRST + 0DDE対話を開始します。
WM_DDE_TERMINATEWM_DDE_FIRST + 1DDE対話を終了します。
WM_DDE_ADVISEWM_DDE_FIRST + 2DDEデータ変更の更新を要求します。
WM_DDE_UNADVISEWM_DDE_FIRST + 3DDEデータの更新要求を停止させます。
WM_DDE_ACKWM_DDE_FIRST + 4DDEメッセージに対して受領通知をします。
WM_DDE_DATAWM_DDE_FIRST + 5データををDDEクライアントに送ります。
WM_DDE_REQUESTWM_DDE_FIRST + 6DDEサーバーからデータを要求します。
WM_DDE_POKEWM_DDE_FIRST + 7未要求のデータをサーバーに送ります。
WM_DDE_EXECUTEWM_DDE_FIRST + 8文字列をDDEサーバーに送ります。
WM_USER$0400メッセージ値の範囲を示します。 0x0000..WM_USER-1 はシステム予約です。WM_USER..WM_APP-1 は Windows で利用されます。
WM_CHOOSEFONT_GETLOGFONTWM_USER + 1[フォントの指定]ダイアログ ボックスのLOGFONT構造体を取得します。
WM_APP$8000WM_APP..WM_APP + 0x3FFF はアプリケーションで自由に定義できます。
WM_RASDIALEVENT$CCCDRAS接続状態が変更されたことを通知します。

 メッセージ処理は Windows プログラミングの基本ですからね。


 BACK