windows消息定义
WM_NULL 0 0
WM_CREATE 1 1 應用程序創建一個窗口
WM_DESTROY? 2 2 一個窗口被銷毀
WM_MOVE 3 3 移動一個窗口
WM_SIZE 5 5 改變一個窗口的大小
WM_ACTIVATE 6 6 一個窗口被激活或失去激活狀態
WM_SETFOCUS 7 7 獲得焦點后
WM_KILLFOCUS 8 8 失去焦點
WM_ENABLE A 10 改變enable狀態
WM_SETREDRAW B 11 設置窗口是否能重畫??
WM_SETTEXT C 12 應用程序發送此消息來設置一個窗口的文本
WM_GETTEXT D 13 應用程序發送此消息來復制對應窗口的文本到緩沖區
WM_GETTEXTLENGTH E 14 得到與一個窗口有關的文本的長度(不包含空字符)
WM_PAINT F 15 要求一個窗口重畫自己
WM_CLOSE 10 16 當一個窗口或應用程序要關閉時發送一個信號
WM_QUERYENDSESSION 11 17 當用戶選擇結束對話框或程序自己調用ExitWindows函數
WM_QUIT 12 18 用來結束程序運行或當程序調用postquitmessage函數
WM_QUERYOPEN 13 19 當用戶窗口恢復以前的大小位置時,把此消息發送給某個圖標
WM_ERASEBKGND 14 20 當窗口背景必須被擦除時(例在窗口改變大小時)
WM_SYSCOLORCHANGE 15 21 當系統顏色改變時,發送此消息給所有頂級窗口
WM_ENDSESSION 16 22 當系統進程發出WM_QUERYENDSESSION消息后,此消息發送給應用程序,通知它對話是否結束
WM_SYSTEMERROR 17 23 系統發生錯誤后
WM_SHOWWINDOW 18 24 當隱藏或顯示窗口是發送此消息給這個窗口
WM_ACTIVATEAPP 1C 28 發此消息給應用程序哪個窗口是激活的,哪個是非激活的
WM_FONTCHANGE 1D 29 當系統的字體資源庫變化時發送此消息給所有頂級窗口
WM_TIMECHANGE 1E 30 當系統的時間變化時發送此消息給所有頂級窗口
WM_CANCELMODE 1F 31 發送此消息來取消某種正在進行的摸態(操作)
WM_SETCURSOR 20 32 如果鼠標引起游標在某個窗口中移動且鼠標輸入沒有被捕獲時,就發消息給某個窗口
WM_MOUSEACTIVATE 21 33 當游標在某個非激活的窗口中而用戶正按著鼠標的某個鍵發送此消息給當前窗口
WM_CHILDACTIVATE 22 34 發送此消息給MDI子窗口當用戶點擊此窗口的標題欄,或當窗口被激活,移動,改變大小
WM_QUEUESYNC 23 35 此消息由基于計算機的訓練程序發送,通過WH_JOURNALPALYBACK的hook程序,分離出用戶輸入消息
WM_GETMINMAXINFO 24 36 此消息發送給窗口當它將要改變大小或位置
WM_PAINTICON 26 38 發送給最小化窗口當它圖標將要被重畫
WM_ICONERASEBKGND 27 39 此消息發送給某個最小化窗口,僅當它在畫圖標前它的背景必須被重畫
WM_NEXTDLGCTL 28 40 發送此消息給一個對話框程序去更改焦點位置
WM_SPOOLERSTATUS 2A 42 每當打印管理列隊增加或減少一條作業時發出此消息
WM_DRAWITEM 2B 43 當button,combobox,listbox,menu的可視外觀改變時發送,此消息給這些控件的所有者
WM_MEASUREITEM 2C 44 當button, combo box, list box, list view control, or menu item 被創建時,發送此消息給控件的所有者
WM_DELETEITEM 2D 45 當listbox或combobox被銷毀或當某些項被刪除通過LB_DELETESTRING, LB_RESETCONTENT, CB_DELETESTRING, or CB_RESETCONTENT 消息
WM_VKEYTOITEM 2E 46 此消息有一個LBS_WANTKEYBOARDINPUT風格的發出給它的所有者來響應WM_KEYDOWN消息
WM_CHARTOITEM 2F 47 此消息由一個LBS_WANTKEYBOARDINPUT風格的列表框發送給他的所有者來響應WM_CHAR消息??
WM_SETFONT 30 48 當繪制文本時程序發送此消息得到控件要用的顏色
WM_GETFONT 31 49 應用程序發送此消息得到當前控件繪制文本的字體
WM_SETHOTKEY 32 50 應用程序發送此消息讓一個窗口與一個熱鍵相關聯
WM_GETHOTKEY 33 51 應用程序發送此消息來判斷熱鍵與某個窗口是否有關聯
WM_QUERYDRAGICON 37 55 此消息發送給最小化窗口,當此窗口將要被拖放而它的類中沒有定義圖標,應用程序能返回一個圖標或游標的句柄,當用戶拖放圖標時系統顯示這個圖標或游標
WM_COMPAREITEM 39 57 發送此消息來判定combobox或listbox新增加的項的相對位置
WM_GETOBJECT 3D 61 服務器端應用程序中的控件被激活時觸發該事件
WM_COMPACTING? 41 65 顯示內存已經很少了
WM_WINDOWPOSCHANGING 46 70 發送此消息給那個窗口的大小和位置將要被改變時,來調用setwindowpos函數或其它窗口管理函數
WM_WINDOWPOSCHANGED 47 71 發送此消息給那個窗口的大小和位置已經被改變時,來調用setwindowpos函數或其它窗口管理函數
WM_POWER 48 72 當系統將要進入暫停狀態時發送此消息
WM_COPYDATA 4A 74 當一個應用程序傳遞資料給另一個應用程序時發送此消息
WM_CANCELJOURNAL 4B 75 當某個用戶取消程序日志激活狀態,提交此消息給程序
WM_NOTIFY 4E 78 當某個控件的某個事件已經發生或這個控件需要得到一些信息時,發送此消息給它的父窗口
WM_INPUTLANGCHANGEREQUEST 50 80 當用戶選擇某種輸入語言,或輸入語言的熱鍵改變
WM_INPUTLANGCHANGE 51 81 當平臺現場已經被改變后發送此消息給受影響的最頂級窗口
WM_TCARD 52 82 當程序已經初始化windows幫助例程時發送此消息給應用程序
WM_HELP 53 83 此消息顯示用戶按下了F1,如果某個菜單是激活的,就發送此消息個此窗口關聯的菜單,否則就發送給有焦點的窗口,如果當前都沒有焦點,就把此消息發送給當前激活的窗口
WM_USERCHANGED 54 84 當用戶已經登入或退出后發送此消息給所有的窗口,當用戶登入或退出時系統更新用戶的具體設置信息,在用戶更新設置時系統馬上發送此消息
WM_NOTIFYformAT 55 85 公用控件,自定義控件和他們的父窗口通過此消息來判斷控件是使用ANSI還是UNICODE結構在WM_NOTIFY消息,使用此控件能使某個控件與它的父控件之間進行相互通信
WM_CONTEXTMENU 7B 123 當用戶某個窗口中點擊了一下右鍵就發送此消息給這個窗口
WM_styleCHANGING 7C 124 當調用SETWINDOWLONG函數將要改變一個或多個 窗口的風格時發送此消息給那個窗口
WM_styleCHANGED 7D 125 當調用SETWINDOWLONG函數一個或多個 窗口的風格后發送此消息給那個窗口
WM_DISPLAYCHANGE 7E 126 當顯示器的分辨率改變后發送此消息給所有的窗口
WM_GETICON 7F 127 此消息發送給某個窗口來返回與某個窗口有關連的大圖標或小圖標的句柄
WM_SETICON 80 128 程序發送此消息讓一個新的大圖標或小圖標與某個窗口關聯
WM_NCCREATE 81 129 當某個窗口第一次被創建時,此消息在WM_CREATE消息發送前發送
WM_NCDESTROY 82 130 此消息通知某個窗口,非客戶區正在銷毀
WM_NCCALCSIZE 83 131 當某個窗口的客戶區域必須被核算時發送此消息
WM_NCHITTEST 84 132 移動鼠標,按住或釋放鼠標時發生
WM_NCPAINT 85 133 程序發送此消息給某個窗口當它(窗口)的框架必須被繪制時
WM_NCACTIVATE 86 134 此消息發送給某個窗口 僅當它的非客戶區需要被改變來顯示是激活還是非激活狀態
WM_GETDLGCODE 87 135 發送此消息給某個與對話框程序關聯的控件,windows控制方位鍵和TAB鍵使輸入進入此控件,通過響應WM_GETDLGCODE消息,應用程序可以把他當成一個特殊的輸入控件并能處理它
WM_NCMOUSEMOVE A0 160 當游標在一個窗口的非客戶區內移動時發送此消息給這個窗口
WM_NCLBUTTONDOWN A1 161 當游標在一個窗口的非客戶區同時按下鼠標左鍵時提交此消息
WM_NCLBUTTONUP A2 162 當用戶釋放鼠標左鍵同時游標某個窗口在非客戶區十發送此消息
WM_NCLBUTTONDBLCLK A3 163 當用戶雙擊鼠標左鍵同時游標某個窗口在非客戶區時發送此消息
WM_NCRBUTTONDOWN A4 164 當用戶按下鼠標右鍵同時游標又在窗口的非客戶區時發送此消息
WM_NCRBUTTONUP A5 165 當用戶釋放鼠標右鍵同時游標又在窗口的非客戶區時發送此消息
WM_NCRBUTTONDBLCLK? A6 166 當用戶雙擊鼠標右鍵同時游標某個窗口在非客戶區時發送此消息
WM_NCMBUTTONDOWN A7 167 當用戶按下鼠標中鍵同時游標又在窗口的非客戶區時發送此消息
WM_NCMBUTTONUP A8 168 當用戶釋放鼠標中鍵同時游標又在窗口的非客戶區時發送此消息
WM_NCMBUTTONDBLCLK A9 169 當用戶雙擊鼠標中鍵同時游標又在窗口的非客戶區時發送此消息
WM_KEYDOWN 100 256 按下鍵
WM_KEYFIRST 100 256 接受第一個鍵盤消息
WM_IME_STARTCOMPOSITION 10D 269 當IME開始轉換時,產生此消息
WM_IME_ENDCOMPOSITION 10E 270 當IME結束轉換時,產生此消息
WM_IME_COMPOSITION 10F 271 IME改變了寫作字符串時,產生此消息
WM_IME_KEYLAST 10F 271 接受最后一個鍵盤消息
WM_MOUSEFIRST 200 512 開始移動鼠標
WM_MOUSELAST 20A 512 結束移動鼠標
WM_MOUSEMOVE? 200 512 移動鼠標
WM_MOUSEWHEEL 20A 512 當鼠標輪子轉動時發送此消息個當前有焦點的控件
WM_LBUTTONDOWN 201 513 按下鼠標左鍵
WM_LBUTTONUP 202 514 釋放鼠標左鍵
WM_LBUTTONDBLCLK 203 515 雙擊鼠標左鍵
WM_RBUTTONDOWN 204 516 按下鼠標右鍵
WM_RBUTTONUP 205 517 釋放鼠標右鍵
WM_RBUTTONDBLCLK 206 518 雙擊鼠標右鍵
WM_MBUTTONDOWN 207 519 按下鼠標中鍵
WM_MBUTTONUP 208 520 釋放鼠標中鍵
WM_MBUTTONDBLCLK 209 521 雙擊鼠標中鍵
WM_PARENTNOTIFY 210 528 當MDI子窗口被創建或被銷毀,或用戶按了一下鼠標鍵而游標在子窗口上時發送此消息給它的父窗口
WM_ENTERMENULOOP 211 529 發送此消息通知應用程序的主窗口,已經進入了菜單循環模式
WM_EXITMENULOOP 212 530 發送此消息通知應用程序的主窗口,已退出了菜單循環模式
WM_NEXTMENU 213 531 使用方向鍵(左,右)來切換應用程序的菜單或系統菜單時觸發
WM_MDICREATE 220 544 應用程序發送此消息給多文文件的客戶窗口來創建一個MDI 子窗口
WM_MDIDESTROY 221 545 應用程序發送此消息給多文文件的客戶窗口來關閉一個MDI子窗口
WM_MDIRESTORE 223 547 程序發送此消息給MDI客戶窗口讓子窗口從最大最小化恢復到原來大小
WM_MDINEXT 224 548 程序發送此消息給MDI客戶窗口激活下一個或前一個窗口
WM_MDIMAXIMIZE 225 549 程序發送此消息給MDI客戶窗口來最大化一個MDI子窗口
WM_MDITILE 226 550 程序發送此消息給MDI客戶窗口以平鋪方式重新排列所有MDI子窗口
WM_MDICASCADE 227 551 程序發送此消息給MDI客戶窗口以層疊方式重新排列所有MDI子窗口
WM_MDIICONARRANGE 228 552 程序發送此消息給MDI客戶窗口重新排列所有最小化的MDI子窗口
WM_MDIGETACTIVE 229 553 程序發送此消息給MDI客戶窗口來找到激活的子窗口的句柄
WM_MDISETMENU 230 560 程序發送此消息給MDI客戶窗口用MDI菜單代替子窗口的菜單
WM_ENTERSIZEMOVE 231 561 當窗口開始縮放或位置改變時觸發
WM_EXITSIZEMOVE 232 562 當窗口結束縮放或位置改變時觸發
WM_DROPFILES 233 563 程序拖曳文件到目標地時觸發
WM_MDIREFRESHMENU 234 564 客戶窗口刷新框架窗口的菜單時觸發
WM_IME_SETCONTEXT 281 641 當激活一個視窗,輸入法系統給應用程序送出此消息
WM_IME_NOTIFY 282 642 IME窗口狀態的常規改變時觸發該事件
WM_IME_CONTROL 283 643 改變輸入法錄字窗口時觸發該事件
WM_IME_COMPOSITIONFULL 284 644 用戶接口窗口不能增加編碼窗口的尺寸時觸發
WM_IME_SELECT 285 645 切換輸入法時觸發該事件
WM_IME_CHAR 286 646 在輸入法錄字窗口中輸入字符時觸發該事件
WM_IME_REQUEST 288 648 應用程序請求輸入法時觸發該事件
WM_IME_KEYDOWN 290 656 在輸入法錄字窗口中按下鍵時觸發該事件
WM_IME_KEYUP 291 657 在輸入法錄字窗口中釋放按鍵時觸發該事件
WM_MOUSEHOVER 2A1 673 鼠標移過控件時觸發該事件
WM_MOUSELEAVE 2A3 675 鼠標離開控件時觸發該事件
WM_CUT 300 768 程序發送此消息給一個編輯框或combobox來刪除當前選擇的文本
WM_COPY 301 769 程序發送此消息給一個編輯框或combobox來復制當前選擇的文本到剪貼板
WM_PASTE 302 770 程序發送此消息給editcontrol或combobox從剪貼板中得到資料
WM_CLEAR 303 771 程序發送此消息給editcontrol或combobox清除當前選擇的內容
WM_UNDO 304 772 程序發送此消息給editcontrol或combobox撤消最后一次操作
WM_RENDERformAT 305 773 程序需要系統剪切板數據時觸發該事件
WM_RENDERALLformATS 306 774 應用程序退出時在程序退出時,WINDOW會給當前程序發送該消息,要求提供所有格式的剪帖板數據,避免造成數據丟失
WM_DESTROYCLIPBOARD 307 775 當調用ENPTYCLIPBOARD函數時,發送此消息給剪貼板的所有者
WM_DRAWCLIPBOARD 308 776 當剪貼板的內容變化時發送此消息給剪貼板觀察鏈的第一個窗口;它允許用剪貼板觀察窗口來顯示剪貼板的新內容
WM_PAINTCLIPBOARD 309 777 當剪貼板包含CF_OWNERDIPLAY格式的資料并且剪貼板觀察窗口的客戶區需要重畫
WM_VSCROLLCLIPBOARD 30A 778 當剪貼板查看器的垂直滾動條被單擊時,觸發該事件
WM_SIZECLIPBOARD 30B 779 當剪貼板包含CF_OWNERDIPLAY格式的資料并且剪貼板觀察窗口的客戶區域的大小已經改變是此消息通過剪貼板觀察窗口發送給剪貼板的所有者
WM_ASKCBformATNAME 30C 780 通過剪貼板觀察窗口發送此消息給剪貼板的所有者來請求一個CF_OWNERDISPLAY格式的剪貼板的名字
WM_CHANGECBCHAIN 30D 781 當一個窗口從剪貼板觀察鏈中移去時發送此消息給剪貼板觀察鏈的第一個窗口
WM_HSCROLLCLIPBOARD 30E 782 此消息通過一個剪貼板觀察窗口發送給剪貼板的所有者,它發生在當剪貼板包含CFOWNERDISPALY格式的資料并且有個事件在剪貼板觀察窗的水平滾動條上,所有者應滾動剪貼板圖像并更新滾動條的值
WM_QUERYNEWPALETTE 30F 783 此消息發送給將要收到焦點的窗口,此消息能使窗口在收到焦點時同時有機會實現邏輯調色板
WM_PALETTEISCHANGING 310 784 當一個應用程序正要實現它的邏輯調色板時發此消息通知所有的應用程序
WM_PALETTECHANGED 311 785 此消息在一個擁有焦點的窗口實現它的邏輯調色板后發送此消息給所有頂級并重疊的窗口,以此來改變系統調色板
WM_HOTKEY 312 786 當用戶按下由REGISTERHOTKEY函數注冊的熱鍵時提交此消息
WM_PENWINFIRST 380 896
WM_PENWINLAST 38F 911
WM_COALESCE_FIRST 390 912
WM_COALESCE_LAST 39F 927
WM_DDE_FIRST 3.00E+00 992 客戶端程序開始一個與服務器程序的會話時觸發該事件
WM_USER 400 1024 此消息能幫助應用程序自定義私有消息
WM_SIZING 532 1330 當用戶正在調整窗口大小時發送此消息給窗口,通過此消息應用程序可以監視窗口大小和位置,
WM_CAPTURECHANGED 533 1331 當失去捕獲的鼠標時,發送此消息給窗口
WM_MOVING 534 1332 當用戶在移動窗口時發送此消息,通過此消息應用程序可以監視窗口大小和位置,并也可以修改
WM_POWERBROADCAST 536 1334 發送給應用程序來通知它有關電源管理事件
WM_DEVICECHANGE 537 1335 當設備的硬件配置改變時發送此消息給應用程序或設備驅動程序
WM_DEVICECHANGE 537 1335 當設備的硬件配置改變時發送此消息給應用程序或設備驅動程序
WM_PRINT 791 1937 應用程序發送此消息僅當WINDOWS或其它應用程序發出一個請求要求繪制一個應用程序的一部分
WM_PRINTCLIENT 792 1938 繪制MDI窗口客戶區時觸發該事件
WM_HANDHELDFIRST 856 2134
WM_HANDHELDLAST 863 2147
WM_APP 8000 32768 用戶自定義消息的底線標志
WM_DDE_ACK WM_DDE_FIRST + 4? 此消息通知一個DDE(動態資料交換)程序已收到并正在處理WM_DDE_POKE, WM_DDE_EXECUTE, WM_DDE_DATA, WM_DDE_ADVISE, WM_DDE_UNADVISE, or WM_DDE_INITIAT消息
WM_DDE_ADVISE WM_DDE_FIRST + 2? 一個DDE客戶程序提交此消息給一個DDE服務程序來請求服務器每當數據項改變時更新它
WM_DDE_DATA WM_DDE_FIRST + 5? 一個DDE服務程序提交此消息給DDE客戶程序來傳遞個一數據項給客戶或通知客戶的一條可用數據項
WM_DDE_EXECUTE WM_DDE_FIRST + 8? 一個DDE客戶程序提交此消息給一個DDE服務程序來發送一個字符串給服務器讓它象串行命令一樣被處理,服務器通過提交WM_DDE_ACK消息來作響應
WM_DDE_INITIATE WM_DDE_FIRST + 0? 一個DDE客戶程序提交此消息開始一個與服務器程序的會話來響應那個指定的程序和主題名
WM_DDE_LAST WM_DDE_FIRST + 8? 客戶端程序結束一個與服務器程序的會話時觸發該事件
WM_DDE_POKE WM_DDE_FIRST + 7? 一個DDE客戶程序提交此消息給一個DDE服務程序,客戶使用此消息來請求服務器接收一個未經同意的數據項;服務器通過答復WM_DDE_ACK消息提示是否它接收這個數據項
WM_DDE_REQUEST WM_DDE_FIRST + 6? 一個DDE客戶程序提交此消息給一個DDE服務程序來請求一個數據項的值
WM_DDE_TERMINATE WM_DDE_FIRST + 1? 一個DDE應用程序(無論是客戶還是服務器)提交此消息來終止一個會話
WM_DDE_UNADVISE WM_DDE_FIRST + 3? 一個DDE客戶程序通過此消息通知一個DDE服務程序不更新指定的項或一個特殊的剪貼板格式的項
總結
以上是生活随笔為你收集整理的windows消息定义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于《蜗居》的一点想法
- 下一篇: 读:[你必须知道的.NET] 第五回:深