windows消息(二)

附錄A Windows 經常使用消息大全

表A-1  Windows消息分佈框架

消息範圍函數

說 明字體

0 ~ WM_USER – 1ui

系統消息spa

WM_USER ~ 0x7FFF日誌

自定義窗口類整數消息進程

WM_APP ~ 0xBFFF事件

應用程序自定義消息內存

0xC000 ~ 0xFFFFci

應用程序字符串消息

> 0xFFFF

爲之後系統應用保留

表A-2  經常使用Windows消息

消息名稱

說  明

WM_NULL 

0x0000

空消息,此消息將被接收窗口忽略

WM_CREATE 

0x0001

應用程序建立一個窗口

WM_DESTROY

0x0002

一個窗口被銷燬

WM_MOVE

0x0003

移動一個窗口

WM_SIZE

0x0005

改變一個窗口的大小

WM_ACTIVATE

0x0006

一個窗口被激活或失去激活狀態

WM_SETFOCUS

0x0007

得到焦點後

WM_KILLFOCUS

0x0008

失去焦點

WM_ENABLE

0x000A

應用程序Enable狀態改變時產生

WM_SETREDRAW

0x000B

設置窗口是否能重畫

WM_SETTEXT

0x000C

應用程序發送此消息來設置一個窗口的文本

WM_GETTEXT

0x000D

應用程序發送此消息來複制對應窗口的文本到緩衝區

WM_GETTEXTLENGTH

0x000E

獲得與一個窗口有關的文本的長度(不包含空字符)

WM_PAINT

0x000F

要求一個窗口重繪本身

WM_CLOSE

0x0010

當一個窗口或應用程序要關閉時發送一個信號

WM_QUERYENDSESSION

0x0011

用戶選擇結束對話框或應用程序本身調用ExitWindows()函數

WM_QUIT

0x0012

用來結束程序運行或應用程序調用Postquitmessage()函數來產生此消息

WM_QUERYOPEN

0x0013

當用戶窗口恢復之前的大小位置時,把此消息發送給某個圖標

WM_ERASEBKGND

0x0014

當窗口背景必須被擦除時(例如在窗口改變大小時)

WM_SYSCOLORCHANGE

0x0015

當系統顏色改變時,發送此消息給全部頂級窗口

WM_ENDSESSION

0x0016

當系統進程發出WM_QUERYENDSESSION消息後,此消息發送給應用程序

WM_SHOWWINDOW

0x0018

當隱藏或顯示窗口是發送此消息給這個窗口

WM_ACTIVATEAPP

0x001C

當某個窗口將被激活時,將被激活窗口和當前活動(即將失去激活)窗口會收到此消息,發此消息給應用程序哪一個窗口是激活的,哪一個是非激活的

WM_FONTCHANGE

0x001D

當系統的字體資源庫變化時發送此消息給全部頂級窗口

WM_TIMECHANGE

0x001E

當系統的時間變化時發送此消息給全部頂級窗口

WM_CANCELMODE

0x001F

發送此消息來取消某種正在進行的操做

WM_SETCURSOR

0x0020

若是鼠標引發光標在某個窗口中移動且鼠標輸入沒有被捕獲時,發消息給該窗口

WM_MOUSEACTIVATE

0x0021

當光標在某個非激活的窗口中而用戶正按着鼠標的某個鍵發送此消息給當前窗口

WM_CHILDACTIVATE

0x0022

發送此消息給MDI子窗口當用戶點擊此窗口的標題欄,或當窗口被激活、移動、改變大小

WM_QUEUESYNC

0x0023

此消息由基於計算機的訓練程序發送,經過WH_JOURNALPALYBACK的Hook程序分離出用戶輸入消息

WM_GETMINMAXINFO

0x0024

當窗口要將要改變大小或位置時,發送此消息給該窗口

WM_PAINTICON

0x0026

當窗口圖標將要被重繪時,發送此消息給該窗口

WM_ICONERASEBKGND

0x0027

在一個最小化窗口的圖標在重繪前,當圖標背景必須被重繪時,發送此消息給該窗口

WM_NEXTDLGCTL

0x0028

發送此消息給一個對話框程序以更改焦點位置

WM_SPOOLERSTATUS

0x002A

當打印管理列隊增長或減小一條做業時發出此消息

WM_DRAWITEM

0x002B

當Button,ComboBox,Listbox,Menu控件的外觀改變時,發送此消息給這些控件的全部者

WM_MEASUREITEM

0x002C

當Button,ComboBox,list box,ListView,Menu 項被建立時,發送此消息給控件的全部者

WM_DELETEITEM

0x002D

當ListBox 或 ComboBox 被銷燬或當某些項經過發送LB_DELETESTRING、LB_RESETCONTENT、 CB_DELETESTRING、CB_RESETCONTENT 消息被刪除時,發送此消息給控件的全部者

WM_VKEYTOITEM

0x002E

一個具備LBS_WANTKEYBOARDINPUT風格的ListBox控件發送此消息給它的全部者,以此來響應WM_KEYDOWN消息

WM_CHARTOITEM

0x002F

一個具備LBS_WANTKEYBOARDINPUT風格的ListBox控件發送此消息給它的全部者,以此來響應WM_CHAR消息

WM_SETFONT

0x0030

應用程序繪製控件時,發送此消息獲得以何種字體繪製控件中的文本

WM_GETFONT

0x0031

應用程序發送此消息獲得當前控件繪製文本的字體

WM_SETHOTKEY

0x0032

應用程序發送此消息讓一個窗口與一個熱鍵相關聯

WM_GETHOTKEY

0x0033

應用程序發送此消息來判斷熱鍵與某個窗口是否有關聯

WM_QUERYDRAGICON

0x0037

此消息發送給最小化窗口,當此窗口將要被拖放而它的類中沒有定義圖標,應用程序就返回一個圖標或光標的句柄,當用戶拖放圖標時系統顯示這個圖標或光標

WM_COMPAREITEM

0x0039

發送此消息來斷定ComboBox或ListBox新增長的項的相對位置

WM_COMPACTING

0x0041

顯示內存已經不多了

WM_WINDOWPOSCHANGING

0x0046

當調用SetWindowPos()函數改變窗口的大小和位置後,發送此消息給該窗口

WM_POWER

0x0048

當系統將進入掛起狀態時發送此消息給全部進程

WM_COPYDATA

0x004A

當一個應用程序傳遞數據給另外一個應用程序時發送此消息

WM_CANCELJOURNAL

0x004B

當某個用戶取消程序日誌激活狀態,發送此消息給應用程序

WM_NOTIFY

0x004E

當某個控件的某個事件已經發生或這個控件須要獲得一些信息時,發送此消息給它的父窗口

WM_INPUTLANGCHANGEREQUEST

0x0050

當用戶選擇某種輸入語言,或輸入語言的熱鍵改變

WM_INPUTLANGCHANGE

0x0051

當應用程序輸入語言改變後發送此消息給受影響的最頂級窗口

WM_TCARD

0x0052

當應用程序已經初始化Windows幫助例程時發送此消息給應用程序

WM_HELP

0x0053

當用戶按下了F1,若是某個菜單是激活的,就發送此消息給此窗口關聯的菜單,不然就發送給有焦點的窗口,若是當前都沒有焦點,就把此消息發送給當前激活的窗口

WM_USERCHANGED

0x0054

當用戶已經登陸或退出後發送此消息給全部的窗口,當用戶登陸或退出時系統更新用戶的具體設置信息,在用戶更新設置時系統立刻發送此消息

WM_NOTIFYFORMAT

0x0055

公用控件和它們的父窗口經過此消息來判斷在WM_NOTIFY消息中是使用ANSI仍是UNICODE形式的結構,使用此控件能使某個控件與它的父控件進行相互通訊

WM_CONTEXTMENU

0x007B

當用戶在某個窗口中點擊右鍵,則發送此消息給該窗口

WM_STYLECHANGING

0x007C

當將要調用SetWindowLong()函數窗口的一個或多個風格時,發送此消息給該窗口

WM_STYLECHANGED

0x007D

當調用SetWindowLong()函數改變了窗口的一個或多個風格後,發送此消息給該窗口

WM_DISPLAYCHANGE

0x007E

當顯示器的分辨率改變後發送此消息給全部的窗口

WM_GETICON

0x007F

發送此消息給某個窗口,返回與某個窗口有關聯的大圖標或小圖標的句柄

WM_SETICON

0x0080

應用程序發送此消息讓一個新的大圖標或小圖標與某個窗口關聯

WM_NCCREATE

0x0081

當某個窗口第一次被建立時,此消息在WM_CREATE消息被髮送前發送

WM_NCDESTROY

0x0082

此消息通知某個窗口,正在銷燬非客戶區

WM_NCCALCSIZE

0x0083

當計算某個窗口的客戶區大小和位置時發送此消息

WM_NCHITTEST

0x0084

移動鼠標,按住或釋放鼠標時產生此消息

WM_NCPAINT

0x0085

當某個窗口的框架必須被繪製時,應用程序發送此消息給該窗口

WM_NCACTIVATE

0x0086

經過改變某個窗口的非客戶區來表示窗口是處於激活仍是非激活狀態時,此消息被髮送給該窗口

WM_NCMOUSEMOVE

0x00A0

當光標在窗口的非客戶區(窗口標題欄及邊框)內移動時發送此消息給該窗口

WM_NCLBUTTONDOWN

0x00A1

當光標在窗口的非客戶區並按下鼠標左鍵時發送此消息

WM_NCLBUTTONUP

0x00A2

當光標在窗口的非客戶區並釋放鼠標左鍵時發送此消息

WM_NCLBUTTONDBLCLK

0x00A3

當光標在窗口的非客戶區並雙擊鼠標左鍵時發送此消息

WM_NCRBUTTONDOWN

0x00A4

當光標在窗口的非客戶區並按下鼠標右鍵時發送此消息

WM_NCRBUTTONUP

0x00A5

當光標在窗口的非客戶區並釋放鼠標右鍵時發送此消息

WM_NCRBUTTONDBLCLK

0x00A6

當光標在窗口的非客戶區並雙擊鼠標右鍵時發送此消息

WM_NCMBUTTONDOWN

0x00A7

當光標在窗口的非客戶區並按下鼠標中鍵時發送此消息

WM_NCMBUTTONUP

0x00A8

當光標在窗口的非客戶區並釋放鼠標中鍵時發送此消息

WM_NCMBUTTONDBLCL

0x00A9

當光標在窗口的非客戶區並雙擊鼠標中鍵時發送此消息

WM_KEYDOWN

0x0100

按下一個非系統鍵(按下鍵時未按下「ALT」鍵)

WM_KEYUP

0x0101

釋放一個非系統鍵

WM_CHAR

0x0102

按下某鍵,當TranslateMessage()轉發WM_KEYDOWN後發送本消息

WM_DEADCHAR

0x0103

釋放某鍵,當TranslateMessage()轉發WM_KEYUP後發送本消息

WM_SYSKEYDOWN

0x0104

當按住ALT鍵同時按下其餘鍵時發送此消息給擁有鍵盤焦點的窗口

WM_SYSKEYUP

0x0105

當釋放一個鍵同時按住ALT鍵時發送此消息給擁有鍵盤焦點的窗口

WM_SYSCHAR

0x0106

當TranslateMessage()轉發WM_SYSKEYDOWN後發送此消息給擁有鍵盤焦點的窗口

WM_SYSDEADCHAR

0x0107

當TranslateMessage()轉發WM_SYSKEYUP後發送此消息給擁有鍵盤焦點的窗口

WM_INITDIALOG

0x0110

在被顯示前發送此消息對話框,一般用此消息初始化控件和執行其餘任務

WM_COMMAND

0x0111

選擇窗口菜單項或某個控件發送一條消息給它的父窗口或按下一個快捷鍵時產生此消息

WM_SYSCOMMAND

0x0112

選擇窗口菜單項或選擇最大化或最小化時,發送此消息給該窗口

WM_TIMER

0x0113

發生了定時器事件

WM_HSCROLL

0x0114

當窗口水平滾動條產生一個滾動事件時發送此消息給該窗口和滾動條的全部者

WM_VSCROLL

0x0115

當窗口垂直滾動條產生一個滾動事件時發送此消息給該窗口和滾動條的全部者

WM_INITMENU

0x0116

當一個菜單將要被激活時發送此消息,它發生在按下菜單項或按下菜單快捷鍵時,它容許程序在顯示前更改菜單

WM_INITMENUPOPUP

0x0117

當一個下拉菜單或子菜單將要被激活時發送此消息,它容許顯示前在修改菜單而沒必要更改整個菜單

WM_MENUSELECT

0x011F

選擇一條菜單項時發送此消息給菜單的全部者(通常是窗口)

WM_MENUCHAR

0x0120

當菜單已被激活且用戶按下了某個鍵(非快捷鍵),發送此消息給菜單的全部者

WM_ENTERIDLE

0x0121

當一個有模式對話框或菜單進入空閒狀態時發送此消息給它的全部者,空閒狀態指在處理完一條或幾條先前的消息後,消息列隊爲空

WM_MENURBUTTONUP

0x0122

當光標位於菜單項上時,釋放鼠標右鍵產生此消息

WM_MENUDRAG

0x0123

當拖動菜單項時,發送此消息給拖放菜單的全部者

WM_MENUGETOBJECT

0x0124

當光標移入菜單項或者從菜單項中心移到菜單項頂部或底部時,發送此消息給拖放菜單的全部者

WM_UNINITMENUPOPUP

0x0125

當下拉菜單或者子菜單被銷燬時產生此消息

WM_MENUCOMMAND

0x0126

當用戶選擇菜單項時產生此消息

WM_CHANGEUISTATE

0x0127

應用程序發送此消息代表用戶界面(UI)狀態應當被改變

WM_UPDATEUISTATE

0x0128

應用程序發送此消息改變指定窗口及其子窗口的用戶界面(UI)狀態

WM_QUERYUISTATE

0x0129

應用程序發送此消息獲得某個窗口的用戶界面(UI)狀態

WM_CTLCOLORMSGBOX

0x0132

繪製消息框前發送此消息給它的父窗口,經過響應這條消息,父窗口能夠經過使用給定的相關顯示設備的句柄來設置消息框的文本和背景顏色

WM_CTLCOLOREDIT

0x0133

繪製編輯型控件前發送此消息給它的父窗口,可用來設置編輯框的文本和背景顏色

WM_CTLCOLORLISTBOX

0x0134

繪製列表框控件前發送此消息給它的父窗口,可用來設置編輯框的文本和背景顏色

WM_CTLCOLORBTN

0x0135

繪製按鈕控件前發送此消息給它的父窗口,可用來設置編輯框的文本和背景顏色

WM_CTLCOLORDLG

0x0136

繪製對話框前發送此消息給它的父窗口,可用來設置編輯框的文本和背景顏色

WM_CTLCOLORSCROLLBAR

0x0137

繪製滾動條控件前發送此消息給它的父窗口,可用來設置滾動條控件的文本和背景顏色

相關文章
相關標籤/搜索