Windows 消息ID及定义大全
表A-1? Windows消息分布
| 消息范圍 | 說(shuō) 明 |
| 0 ~?WM_USER?– 1 | 系統(tǒng)消息 |
| WM_USER?~ 0x7FFF | 自定義窗口類整數(shù)消息 |
| WM_APP?~ 0xBFFF | 應(yīng)用程序自定義消息 |
| 0xC000 ~ 0xFFFF | 應(yīng)用程序字符串消息 |
| > 0xFFFF | 為以后系統(tǒng)應(yīng)用保留 |
表A-2? 常用Windows消息
| 消息名稱 | 值 | 說(shuō)? 明 |
| WM_NULL? | 0x0000 | 空消息,此消息將被接收窗口忽略 |
| WM_CREATE? | 0x0001 | 應(yīng)用程序創(chuàng)建一個(gè)窗口 |
| WM_DESTROY | 0x0002 | 一個(gè)窗口被銷毀 |
| WM_MOVE | 0x0003 | 移動(dòng)一個(gè)窗口 |
| WM_SIZE | 0x0005 | 改變一個(gè)窗口的大小 |
| WM_ACTIVATE | 0x0006 | 一個(gè)窗口被激活或失去激活狀態(tài) |
| WM_SETFOCUS | 0x0007 | 獲得焦點(diǎn)后 |
| WM_KILLFOCUS | 0x0008 | 失去焦點(diǎn) |
| WM_ENABLE | 0x000A | 應(yīng)用程序Enable狀態(tài)改變時(shí)產(chǎn)生 |
| WM_SETREDRAW | 0x000B | 設(shè)置窗口是否能重畫 |
| WM_SETTEXT | 0x000C | 應(yīng)用程序發(fā)送此消息來(lái)設(shè)置一個(gè)窗口的文本 |
| WM_GETTEXT | 0x000D | 應(yīng)用程序發(fā)送此消息來(lái)復(fù)制對(duì)應(yīng)窗口的文本到緩沖區(qū) |
| WM_GETTEXTLENGTH | 0x000E | 得到與一個(gè)窗口有關(guān)的文本的長(zhǎng)度(不包含空字符) |
| WM_PAINT | 0x000F | 要求一個(gè)窗口重繪自己 |
| WM_CLOSE | 0x0010 | 當(dāng)一個(gè)窗口或應(yīng)用程序要關(guān)閉時(shí)發(fā)送一個(gè)信號(hào) |
| WM_QUERYENDSESSION | 0x0011 | 用戶選擇結(jié)束對(duì)話框或應(yīng)用程序自己調(diào)用ExitWindows()函數(shù) |
| WM_QUIT | 0x0012 | 用來(lái)結(jié)束程序運(yùn)行或應(yīng)用程序調(diào)用Postquitmessage()函數(shù)來(lái)產(chǎn)生此消息 |
| WM_QUERYOPEN | 0x0013 | 當(dāng)用戶窗口恢復(fù)以前的大小位置時(shí),把此消息發(fā)送給某個(gè)圖標(biāo) |
| WM_ERASEBKGND | 0x0014 | 當(dāng)窗口背景必須被擦除時(shí)(例如在窗口改變大小時(shí)) |
| WM_SYSCOLORCHANGE | 0x0015 | 當(dāng)系統(tǒng)顏色改變時(shí),發(fā)送此消息給所有頂級(jí)窗口 |
| WM_ENDSESSION | 0x0016 | 當(dāng)系統(tǒng)進(jìn)程發(fā)出WM_QUERYENDSESSION消息后,此消息發(fā)送給應(yīng)用程序 |
| WM_SHOWWINDOW | 0x0018 | 當(dāng)隱藏或顯示窗口是發(fā)送此消息給這個(gè)窗口 |
| WM_ACTIVATEAPP | 0x001C | 當(dāng)某個(gè)窗口將被激活時(shí),將被激活窗口和當(dāng)前活動(dòng)(即將失去激活)窗口會(huì)收到此消息,發(fā)此消息給應(yīng)用程序哪個(gè)窗口是激活的,哪個(gè)是非激活的 |
| WM_FONTCHANGE | 0x001D | 當(dāng)系統(tǒng)的字體資源庫(kù)變化時(shí)發(fā)送此消息給所有頂級(jí)窗口 |
| WM_TIMECHANGE | 0x001E | 當(dāng)系統(tǒng)的時(shí)間變化時(shí)發(fā)送此消息給所有頂級(jí)窗口 |
| WM_CANCELMODE | 0x001F | 發(fā)送此消息來(lái)取消某種正在進(jìn)行的操作 |
| WM_SETCURSOR | 0x0020 | 如果鼠標(biāo)引起光標(biāo)在某個(gè)窗口中移動(dòng)且鼠標(biāo)輸入沒(méi)有被捕獲時(shí),發(fā)消息給該窗口 |
| WM_MOUSEACTIVATE | 0x0021 | 當(dāng)光標(biāo)在某個(gè)非激活的窗口中而用戶正按著鼠標(biāo)的某個(gè)鍵發(fā)送此消息給當(dāng)前窗口 |
| WM_CHILDACTIVATE | 0x0022 | 發(fā)送此消息給MDI子窗口當(dāng)用戶點(diǎn)擊此窗口的標(biāo)題欄,或當(dāng)窗口被激活、移動(dòng)、改變大小 |
| WM_QUEUESYNC | 0x0023 | 此消息由基于計(jì)算機(jī)的訓(xùn)練程序發(fā)送,通過(guò)WH_JOURNALPALYBACK的Hook程序分離出用戶輸入消息 |
| WM_GETMINMAXINFO | 0x0024 | 當(dāng)窗口要將要改變大小或位置時(shí),發(fā)送此消息給該窗口 |
| WM_PAINTICON | 0x0026 | 當(dāng)窗口圖標(biāo)將要被重繪時(shí),發(fā)送此消息給該窗口 |
| WM_ICONERASEBKGND | 0x0027 | 在一個(gè)最小化窗口的圖標(biāo)在重繪前,當(dāng)圖標(biāo)背景必須被重繪時(shí),發(fā)送此消息給該窗口 |
| WM_NEXTDLGCTL | 0x0028 | 發(fā)送此消息給一個(gè)對(duì)話框程序以更改焦點(diǎn)位置 |
| WM_SPOOLERSTATUS | 0x002A | 當(dāng)打印管理列隊(duì)增加或減少一條作業(yè)時(shí)發(fā)出此消息 |
| WM_DRAWITEM | 0x002B | 當(dāng)Button,ComboBox,Listbox,Menu控件的外觀改變時(shí),發(fā)送此消息給這些控件的所有者 |
| WM_MEASUREITEM | 0x002C | 當(dāng)Button,ComboBox,list box,ListView,Menu 項(xiàng)被創(chuàng)建時(shí),發(fā)送此消息給控件的所有者 |
| WM_DELETEITEM | 0x002D | 當(dāng)ListBox 或 ComboBox 被銷毀或當(dāng)某些項(xiàng)通過(guò)發(fā)送LB_DELETESTRING、LB_RESETCONTENT、 CB_DELETESTRING、CB_RESETCONTENT 消息被刪除時(shí),發(fā)送此消息給控件的所有者 |
| WM_VKEYTOITEM | 0x002E | 一個(gè)具有LBS_WANTKEYBOARDINPUT風(fēng)格的ListBox控件發(fā)送此消息給它的所有者,以此來(lái)響應(yīng)WM_KEYDOWN消息 |
| WM_CHARTOITEM | 0x002F | 一個(gè)具有LBS_WANTKEYBOARDINPUT風(fēng)格的ListBox控件發(fā)送此消息給它的所有者,以此來(lái)響應(yīng)WM_CHAR消息 |
| WM_SETFONT | 0x0030 | 應(yīng)用程序繪制控件時(shí),發(fā)送此消息得到以何種字體繪制控件中的文本 |
| WM_GETFONT | 0x0031 | 應(yīng)用程序發(fā)送此消息得到當(dāng)前控件繪制文本的字體 |
| WM_SETHOTKEY | 0x0032 | 應(yīng)用程序發(fā)送此消息讓一個(gè)窗口與一個(gè)熱鍵相關(guān)聯(lián) |
| WM_GETHOTKEY | 0x0033 | 應(yīng)用程序發(fā)送此消息來(lái)判斷熱鍵與某個(gè)窗口是否有關(guān)聯(lián) |
| WM_QUERYDRAGICON | 0x0037 | 此消息發(fā)送給最小化窗口,當(dāng)此窗口將要被拖放而它的類中沒(méi)有定義圖標(biāo),應(yīng)用程序就返回一個(gè)圖標(biāo)或光標(biāo)的句柄,當(dāng)用戶拖放圖標(biāo)時(shí)系統(tǒng)顯示這個(gè)圖標(biāo)或光標(biāo) |
| WM_COMPAREITEM | 0x0039 | 發(fā)送此消息來(lái)判定ComboBox或ListBox新增加的項(xiàng)的相對(duì)位置 |
| WM_COMPACTING | 0x0041 | 顯示內(nèi)存已經(jīng)很少了 |
| WM_WINDOWPOSCHANGING | 0x0046 | 當(dāng)調(diào)用SetWindowPos()函數(shù)改變窗口的大小和位置后,發(fā)送此消息給該窗口 |
| WM_POWER | 0x0048 | 當(dāng)系統(tǒng)將進(jìn)入掛起狀態(tài)時(shí)發(fā)送此消息給所有進(jìn)程 |
| WM_COPYDATA | 0x004A | 當(dāng)一個(gè)應(yīng)用程序傳遞數(shù)據(jù)給另一個(gè)應(yīng)用程序時(shí)發(fā)送此消息 |
| WM_CANCELJOURNAL | 0x004B | 當(dāng)某個(gè)用戶取消程序日志激活狀態(tài),發(fā)送此消息給應(yīng)用程序 |
| WM_NOTIFY | 0x004E | 當(dāng)某個(gè)控件的某個(gè)事件已經(jīng)發(fā)生或這個(gè)控件需要得到一些信息時(shí),發(fā)送此消息給它的父窗口 |
| WM_INPUTLANGCHANGEREQUEST | 0x0050 | 當(dāng)用戶選擇某種輸入語(yǔ)言,或輸入語(yǔ)言的熱鍵改變 |
| WM_INPUTLANGCHANGE | 0x0051 | 當(dāng)應(yīng)用程序輸入語(yǔ)言改變后發(fā)送此消息給受影響的最頂級(jí)窗口 |
| WM_TCARD | 0x0052 | 當(dāng)應(yīng)用程序已經(jīng)初始化Windows幫助例程時(shí)發(fā)送此消息給應(yīng)用程序 |
| WM_HELP | 0x0053 | 當(dāng)用戶按下了F1,如果某個(gè)菜單是激活的,就發(fā)送此消息給此窗口關(guān)聯(lián)的菜單,否則就發(fā)送給有焦點(diǎn)的窗口,如果當(dāng)前都沒(méi)有焦點(diǎn),就把此消息發(fā)送給當(dāng)前激活的窗口 |
| WM_USERCHANGED | 0x0054 | 當(dāng)用戶已經(jīng)登錄或退出后發(fā)送此消息給所有的窗口,當(dāng)用戶登錄或退出時(shí)系統(tǒng)更新用戶的具體設(shè)置信息,在用戶更新設(shè)置時(shí)系統(tǒng)馬上發(fā)送此消息 |
| WM_NOTIFYFORMAT | 0x0055 | 公用控件和它們的父窗口通過(guò)此消息來(lái)判斷在WM_NOTIFY消息中是使用ANSI還是UNICODE形式的結(jié)構(gòu),使用此控件能使某個(gè)控件與它的父控件進(jìn)行相互通信 |
| WM_CONTEXTMENU | 0x007B | 當(dāng)用戶在某個(gè)窗口中點(diǎn)擊右鍵,則發(fā)送此消息給該窗口 |
| WM_STYLECHANGING | 0x007C | 當(dāng)將要調(diào)用SetWindowLong()函數(shù)窗口的一個(gè)或多個(gè)風(fēng)格時(shí),發(fā)送此消息給該窗口 |
| WM_STYLECHANGED | 0x007D | 當(dāng)調(diào)用SetWindowLong()函數(shù)改變了窗口的一個(gè)或多個(gè)風(fēng)格后,發(fā)送此消息給該窗口 |
| WM_DISPLAYCHANGE | 0x007E | 當(dāng)顯示器的分辨率改變后發(fā)送此消息給所有的窗口 |
| WM_GETICON | 0x007F | 發(fā)送此消息給某個(gè)窗口,返回與某個(gè)窗口有關(guān)聯(lián)的大圖標(biāo)或小圖標(biāo)的句柄 |
| WM_SETICON | 0x0080 | 應(yīng)用程序發(fā)送此消息讓一個(gè)新的大圖標(biāo)或小圖標(biāo)與某個(gè)窗口關(guān)聯(lián) |
| WM_NCCREATE | 0x0081 | 當(dāng)某個(gè)窗口第一次被創(chuàng)建時(shí),此消息在WM_CREATE消息被發(fā)送前發(fā)送 |
| WM_NCDESTROY | 0x0082 | 此消息通知某個(gè)窗口,正在銷毀非客戶區(qū) |
| WM_NCCALCSIZE | 0x0083 | 當(dāng)計(jì)算某個(gè)窗口的客戶區(qū)大小和位置時(shí)發(fā)送此消息 |
| WM_NCHITTEST | 0x0084 | 移動(dòng)鼠標(biāo),按住或釋放鼠標(biāo)時(shí)產(chǎn)生此消息 |
| WM_NCPAINT | 0x0085 | 當(dāng)某個(gè)窗口的框架必須被繪制時(shí),應(yīng)用程序發(fā)送此消息給該窗口 |
| WM_NCACTIVATE | 0x0086 | 通過(guò)改變某個(gè)窗口的非客戶區(qū)來(lái)表示窗口是處于激活還是非激活狀態(tài)時(shí),此消息被發(fā)送給該窗口 |
| WM_NCMOUSEMOVE | 0x00A0 | 當(dāng)光標(biāo)在窗口的非客戶區(qū)(窗口標(biāo)題欄及邊框)內(nèi)移動(dòng)時(shí)發(fā)送此消息給該窗口 |
| WM_NCLBUTTONDOWN | 0x00A1 | 當(dāng)光標(biāo)在窗口的非客戶區(qū)并按下鼠標(biāo)左鍵時(shí)發(fā)送此消息 |
| WM_NCLBUTTONUP | 0x00A2 | 當(dāng)光標(biāo)在窗口的非客戶區(qū)并釋放鼠標(biāo)左鍵時(shí)發(fā)送此消息 |
| WM_NCLBUTTONDBLCLK | 0x00A3 | 當(dāng)光標(biāo)在窗口的非客戶區(qū)并雙擊鼠標(biāo)左鍵時(shí)發(fā)送此消息 |
| WM_NCRBUTTONDOWN | 0x00A4 | 當(dāng)光標(biāo)在窗口的非客戶區(qū)并按下鼠標(biāo)右鍵時(shí)發(fā)送此消息 |
| WM_NCRBUTTONUP | 0x00A5 | 當(dāng)光標(biāo)在窗口的非客戶區(qū)并釋放鼠標(biāo)右鍵時(shí)發(fā)送此消息 |
| WM_NCRBUTTONDBLCLK | 0x00A6 | 當(dāng)光標(biāo)在窗口的非客戶區(qū)并雙擊鼠標(biāo)右鍵時(shí)發(fā)送此消息 |
| WM_NCMBUTTONDOWN | 0x00A7 | 當(dāng)光標(biāo)在窗口的非客戶區(qū)并按下鼠標(biāo)中鍵時(shí)發(fā)送此消息 |
| WM_NCMBUTTONUP | 0x00A8 | 當(dāng)光標(biāo)在窗口的非客戶區(qū)并釋放鼠標(biāo)中鍵時(shí)發(fā)送此消息 |
| WM_NCMBUTTONDBLCL | 0x00A9 | 當(dāng)光標(biāo)在窗口的非客戶區(qū)并雙擊鼠標(biāo)中鍵時(shí)發(fā)送此消息 |
| WM_KEYDOWN | 0x0100 | 按下一個(gè)非系統(tǒng)鍵(按下鍵時(shí)未按下“ALT”鍵) |
| WM_KEYUP | 0x0101 | 釋放一個(gè)非系統(tǒng)鍵 |
| WM_CHAR | 0x0102 | 按下某鍵,當(dāng)TranslateMessage()轉(zhuǎn)發(fā)WM_KEYDOWN后發(fā)送本消息 |
| WM_DEADCHAR | 0x0103 | 釋放某鍵,當(dāng)TranslateMessage()轉(zhuǎn)發(fā)WM_KEYUP后發(fā)送本消息 |
| WM_SYSKEYDOWN | 0x0104 | 當(dāng)按住ALT鍵同時(shí)按下其他鍵時(shí)發(fā)送此消息給擁有鍵盤焦點(diǎn)的窗口 |
| WM_SYSKEYUP | 0x0105 | 當(dāng)釋放一個(gè)鍵同時(shí)按住ALT鍵時(shí)發(fā)送此消息給擁有鍵盤焦點(diǎn)的窗口 |
| WM_SYSCHAR | 0x0106 | 當(dāng)TranslateMessage()轉(zhuǎn)發(fā)WM_SYSKEYDOWN后發(fā)送此消息給擁有鍵盤焦點(diǎn)的窗口 |
| WM_SYSDEADCHAR | 0x0107 | 當(dāng)TranslateMessage()轉(zhuǎn)發(fā)WM_SYSKEYUP后發(fā)送此消息給擁有鍵盤焦點(diǎn)的窗口 |
| WM_INITDIALOG | 0x0110 | 在被顯示前發(fā)送此消息對(duì)話框,通常用此消息初始化控件和執(zhí)行其他任務(wù) |
| WM_COMMAND | 0x0111 | 選擇窗口菜單項(xiàng)或某個(gè)控件發(fā)送一條消息給它的父窗口或按下一個(gè)快捷鍵時(shí)產(chǎn)生此消息 |
| WM_SYSCOMMAND | 0x0112 | 選擇窗口菜單項(xiàng)或選擇最大化或最小化時(shí),發(fā)送此消息給該窗口 |
| WM_TIMER | 0x0113 | 發(fā)生了定時(shí)器事件 |
| WM_HSCROLL | 0x0114 | 當(dāng)窗口水平滾動(dòng)條產(chǎn)生一個(gè)滾動(dòng)事件時(shí)發(fā)送此消息給該窗口和滾動(dòng)條的所有者 |
| WM_VSCROLL | 0x0115 | 當(dāng)窗口垂直滾動(dòng)條產(chǎn)生一個(gè)滾動(dòng)事件時(shí)發(fā)送此消息給該窗口和滾動(dòng)條的所有者 |
| WM_INITMENU | 0x0116 | 當(dāng)一個(gè)菜單將要被激活時(shí)發(fā)送此消息,它發(fā)生在按下菜單項(xiàng)或按下菜單快捷鍵時(shí),它允許程序在顯示前更改菜單 |
| WM_INITMENUPOPUP | 0x0117 | 當(dāng)一個(gè)下拉菜單或子菜單將要被激活時(shí)發(fā)送此消息,它允許顯示前在修改菜單而不必更改整個(gè)菜單 |
| WM_MENUSELECT | 0x011F | 選擇一條菜單項(xiàng)時(shí)發(fā)送此消息給菜單的所有者(一般是窗口) |
| WM_MENUCHAR | 0x0120 | 當(dāng)菜單已被激活且用戶按下了某個(gè)鍵(非快捷鍵),發(fā)送此消息給菜單的所有者 |
| WM_ENTERIDLE | 0x0121 | 當(dāng)一個(gè)有模式對(duì)話框或菜單進(jìn)入空閑狀態(tài)時(shí)發(fā)送此消息給它的所有者,空閑狀態(tài)指在處理完一條或幾條先前的消息后,消息列隊(duì)為空 |
| WM_MENURBUTTONUP | 0x0122 | 當(dāng)光標(biāo)位于菜單項(xiàng)上時(shí),釋放鼠標(biāo)右鍵產(chǎn)生此消息 |
| WM_MENUDRAG | 0x0123 | 當(dāng)拖動(dòng)菜單項(xiàng)時(shí),發(fā)送此消息給拖放菜單的所有者 |
| WM_MENUGETOBJECT | 0x0124 | 當(dāng)光標(biāo)移入菜單項(xiàng)或者從菜單項(xiàng)中心移到菜單項(xiàng)頂部或底部時(shí),發(fā)送此消息給拖放菜單的所有者 |
| WM_UNINITMENUPOPUP | 0x0125 | 當(dāng)下拉菜單或者子菜單被銷毀時(shí)產(chǎn)生此消息 |
| WM_MENUCOMMAND | 0x0126 | 當(dāng)用戶選擇菜單項(xiàng)時(shí)產(chǎn)生此消息 |
| WM_CHANGEUISTATE | 0x0127 | 應(yīng)用程序發(fā)送此消息表明用戶界面(UI)狀態(tài)應(yīng)當(dāng)被改變 |
| WM_UPDATEUISTATE | 0x0128 | 應(yīng)用程序發(fā)送此消息改變指定窗口及其子窗口的用戶界面(UI)狀態(tài) |
| WM_QUERYUISTATE | 0x0129 | 應(yīng)用程序發(fā)送此消息得到某個(gè)窗口的用戶界面(UI)狀態(tài) |
| WM_CTLCOLORMSGBOX | 0x0132 | 繪制消息框前發(fā)送此消息給它的父窗口,通過(guò)響應(yīng)這條消息,父窗口可以通過(guò)使用給定的相關(guān)顯示設(shè)備的句柄來(lái)設(shè)置消息框的文本和背景顏色 |
| WM_CTLCOLOREDIT | 0x0133 | 繪制編輯型控件前發(fā)送此消息給它的父窗口,可用來(lái)設(shè)置編輯框的文本和背景顏色 |
| WM_CTLCOLORLISTBOX | 0x0134 | 繪制列表框控件前發(fā)送此消息給它的父窗口,可用來(lái)設(shè)置編輯框的文本和背景顏色 |
| WM_CTLCOLORBTN | 0x0135 | 繪制按鈕控件前發(fā)送此消息給它的父窗口,可用來(lái)設(shè)置編輯框的文本和背景顏色 |
| WM_CTLCOLORDLG | 0x0136 | 繪制對(duì)話框前發(fā)送此消息給它的父窗口,可用來(lái)設(shè)置編輯框的文本和背景顏色 |
| WM_CTLCOLORSCROLLBAR | 0x0137 | 繪制滾動(dòng)條控件前發(fā)送此消息給它的父窗口,可用來(lái)設(shè)置滾動(dòng)條控件的文本和背景顏色 |
| WM_CTLCOLORSTATIC | 0x0138 | 繪制靜態(tài)控件前發(fā)送此消息給它的父窗口,可用來(lái)設(shè)置靜態(tài)控件的文本和背景顏色 |
| WM_MOUSEMOVE | 0x0200 | 鼠標(biāo)移動(dòng) |
| WM_LBUTTONDOWN | 0x0201 | 按下鼠標(biāo)左鍵 |
| WM_LBUTTONUP | 0x0202 | 釋放鼠標(biāo)左鍵 |
| WM_LBUTTONDBLCLK | 0x0203 | 雙擊鼠標(biāo)左鍵 |
| WM_RBUTTONDOWN | 0x0204 | 按下鼠標(biāo)右鍵 |
| WM_RBUTTONUP | 0x0205 | 釋放鼠標(biāo)右鍵 |
| WM_RBUTTONDBLCLK | 0x0206 | 雙擊鼠標(biāo)右鍵 |
| WM_MBUTTONDOWN | 0x0207 | 按下鼠標(biāo)中鍵 |
| WM_MBUTTONUP | 0x0208 | 釋放鼠標(biāo)中鍵 |
| WM_MBUTTONDBLCLK | 0x0209 | 雙擊鼠標(biāo)中鍵 |
| WM_MOUSEWHEEL | 0x020A | 當(dāng)鼠標(biāo)滾輪轉(zhuǎn)動(dòng)時(shí)發(fā)送此消息給當(dāng)前獲得焦點(diǎn)的窗口 |
| WM_PARENTNOTIFY | 0x0210 | 當(dāng)MDI子窗口被創(chuàng)建或被銷毀,或當(dāng)光標(biāo)位于子窗口上且用戶按了一下鼠標(biāo)鍵時(shí),發(fā)送此消息給它的父窗口 |
| WM_ENTERMENULOOP | 0x0211 | 發(fā)送此消息通知應(yīng)用程序的主窗口進(jìn)程已經(jīng)進(jìn)入了菜單模式循環(huán) |
| WM_EXITMENULOOP | 0x0212 | 發(fā)送此消息通知應(yīng)用程序的主窗口進(jìn)程已經(jīng)退出了菜單模式循環(huán) |
| WM_SIZING | 0x0214 | 調(diào)整窗口大小時(shí)發(fā)送此消息給窗口,通過(guò)此消息應(yīng)用程序可以監(jiān)視或修改窗口大小和位置 |
| WM_CAPTURECHANGED | 0x0215 | 當(dāng)窗口設(shè)定為不捕獲鼠標(biāo)事件時(shí),發(fā)送此消息給該窗口 |
| WM_MOVING | 0x0216 | 移動(dòng)窗口時(shí)發(fā)送此消息給窗口,通過(guò)此消息應(yīng)用程序可以監(jiān)視或修改窗口大小和位置 |
| WM_POWERBROADCAST | 0x0218 | 發(fā)送此消息給應(yīng)用程序通知它有關(guān)電源管理事件 |
| WM_DEVICECHANGE | 0x0219 | 當(dāng)設(shè)備的硬件配置改變時(shí)發(fā)送此消息給應(yīng)用程序或設(shè)備驅(qū)動(dòng)程序 |
| WM_MDICREATE | 0x0220 | 應(yīng)用程序發(fā)送此消息給多文檔的客戶窗口來(lái)創(chuàng)建一個(gè)MDI 子窗口 |
| WM_MDIDESTROY | 0x0221 | 應(yīng)用程序發(fā)送此消息給多文檔的客戶窗口來(lái)關(guān)閉一個(gè)MDI 子窗口 |
| WM_MDIACTIVATE | 0x0222 | 應(yīng)用程序發(fā)送此消息給多文檔的客戶窗口通知客戶窗口激活另一個(gè)MDI子窗口,當(dāng)客戶窗口收到此消息后,它發(fā)出WM_MDIACTIVE消息給MDI子窗口(未激活)來(lái)激活它 |
| WM_MDIRESTORE | 0x0223 | 應(yīng)用程序發(fā)送此消息給MDI客戶窗口通知子窗口恢復(fù)到原來(lái)大小 |
| WM_MDINEXT | 0x0224 | 應(yīng)用程序發(fā)送此消息給MDI客戶窗口激活下一個(gè)或前一個(gè)窗口 |
| WM_MDIMAXIMIZE | 0x0225 | 應(yīng)用程序發(fā)送此消息給MDI客戶窗口以最大化一個(gè)MDI子窗口 |
| WM_MDITILE | 0x0226 | 應(yīng)用程序發(fā)送此消息給MDI客戶窗口以平鋪方式重新排列所有MDI子窗口 |
| WM_MDICASCADE | 0x0227 | 應(yīng)用程序發(fā)送此消息給MDI客戶窗口以層疊方式重新排列所有MDI子窗口 |
| WM_MDIICONARRANGE | 0x0228 | 應(yīng)用程序發(fā)送此消息給MDI客戶窗口重新排列所有最小化的MDI子窗口 |
| WM_MDIGETACTIVE | 0x0229 | 應(yīng)用程序發(fā)送此消息給MDI客戶窗口以找到激活的子窗口的句柄 |
| WM_MDISETMENU | 0x0230 | 應(yīng)用程序發(fā)送此消息給MDI客戶窗口用MDI菜單代替子窗口的菜單 |
| WM_ENTERSIZEMOVE | 0x0231 | 當(dāng)窗口進(jìn)入移動(dòng)或改變大小模式循環(huán)時(shí),發(fā)送此消息給該窗口 |
| WM_EXITSIZEMOVE | 0x0232 | 當(dāng)窗口退出移動(dòng)或改變大小模式循環(huán)時(shí),發(fā)送此消息給該窗口 |
| WM_DROPFILES | 0x0233 | 當(dāng)用戶在應(yīng)用程序窗口中拖動(dòng)某個(gè)文件時(shí),產(chǎn)生此消息 |
| WM_MDIREFRESHMENU | 0x0234 | 應(yīng)用程序發(fā)送此消息給MDI客戶窗口以刷新窗口菜單 |
| WM_MOUSEHOVER | 0x02A1 | 當(dāng)光標(biāo)在窗口客戶區(qū)懸停超過(guò)TrackMouseEvent()指定的時(shí)間時(shí),發(fā)送此消息給該窗口 |
| WM_MOUSELEAVE | 0x02A3 | 當(dāng)光標(biāo)離開(kāi)窗口客戶區(qū)超過(guò)TrackMouseEvent()指定的時(shí)間時(shí),發(fā)送此消息給該窗口 |
| WM_CUT | 0x0300 | 應(yīng)用程序發(fā)送此消息給一個(gè)編輯框或ComboBox以刪除當(dāng)前選擇的文本 |
| WM_COPY | 0x0301 | 應(yīng)用程序發(fā)送此消息給一個(gè)編輯框或ComboBox以復(fù)制當(dāng)前選擇的文本到剪貼板 |
| WM_PASTE? | 0x0302 | 應(yīng)用程序發(fā)送此消息給一個(gè)編輯框或ComboBox以從剪貼板中得到數(shù)據(jù) |
| WM_CLEAR | 0x0303 | 應(yīng)用程序發(fā)送此消息給一個(gè)編輯框或ComboBox以清除當(dāng)前選擇的內(nèi)容 |
| WM_UNDO | 0x0304 | 應(yīng)用程序發(fā)送此消息給一個(gè)編輯框或ComboBox以撤消最后一次操作 |
| WM_DESTROYCLIPBOARD | 0x0307 | 當(dāng)調(diào)用EmptyClipboard()清空剪貼板時(shí),發(fā)送此消息給剪貼板所有者 |
| WM_DRAWCLIPBOARD | 0x0308 | 當(dāng)剪貼板的內(nèi)容變化時(shí)發(fā)送此消息給剪貼板觀察鏈中的第一個(gè)窗口,它允許用剪貼板觀察窗口來(lái)顯示剪貼板的新內(nèi)容 |
| WM_PAINTCLIPBOARD | 0x0309 | 當(dāng)剪貼板包含CF_OWNERDIPLAY格式的數(shù)據(jù)且剪貼板觀察窗口的客戶區(qū)需要重繪時(shí),發(fā)送此消息給剪貼板所有者 |
| WM_VSCROLLCLIPBOARD | 0x030A | 當(dāng)剪貼板包含CF_OWNERDIPLAY格式的數(shù)據(jù)且剪貼板觀察窗口發(fā)生垂直滾動(dòng)條事件時(shí),剪貼板觀察窗口發(fā)送此消息給剪貼板所有者 |
| WM_SIZECLIPBOARD | 0x030B | 當(dāng)剪貼板包含CF_OWNERDIPLAY格式的數(shù)據(jù)且剪貼板觀察窗口的客戶區(qū)域的大小已經(jīng)改變時(shí),剪貼板觀察窗口發(fā)送此消息給剪貼板的所有者 |
| WM_ASKCBFORMATNAME | 0x030C | 剪貼板觀察窗口發(fā)送此消息給剪貼板所有者以獲得CF_OWNERDISPLAY剪貼板格式的名字 |
| WM_CHANGECBCHAIN | 0x030D | 當(dāng)一個(gè)窗口從剪貼板觀察鏈中移去時(shí)發(fā)送此消息給剪貼板觀察鏈中的第一個(gè)窗口 |
| WM_HSCROLLCLIPBOARD | 0x030E | 當(dāng)剪貼板包含CF_OWNERDIPLAY格式的數(shù)據(jù)且剪貼板觀察窗口發(fā)生水平滾動(dòng)條事件時(shí),剪貼板觀察窗口發(fā)送此消息給剪貼板所有者 |
| WM_QUERYNEWPALETTE | 0x030F | 發(fā)送此消息給將要獲得鍵盤焦點(diǎn)的窗口,此消息使窗口在獲得焦點(diǎn)時(shí)同時(shí)有機(jī)會(huì)實(shí)現(xiàn)它的邏輯調(diào)色板 |
| WM_PALETTEISCHANGING | 0x0310 | 應(yīng)用程序?qū)⒁獙?shí)現(xiàn)它的邏輯調(diào)色板時(shí)發(fā)送此消息通知所有應(yīng)用程序 |
| WM_PALETTECHANGED | 0x0311 | 獲得焦點(diǎn)的窗口實(shí)現(xiàn)它的邏輯調(diào)色板后發(fā)送此消息給所有頂級(jí)并重疊的窗口,以此 來(lái)改變系統(tǒng)調(diào)色板 |
| WM_HOTKEY | 0x0312 | 當(dāng)用戶按下由RegisterHotKey()注冊(cè)的熱鍵時(shí)產(chǎn)生此消息 |
| WM_PRINT | 0x0317 | 應(yīng)用程序發(fā)送此消息給窗口,要求窗口在指定設(shè)備環(huán)境中繪制自己,一般情況下是打印機(jī)設(shè)備環(huán)境 |
| WM_PRINTCLIENT | 0x0318 | 應(yīng)用程序發(fā)送此消息給窗口,要求窗口在指定設(shè)備環(huán)境中繪制窗口客戶區(qū),一般情況下是打印機(jī)設(shè)備環(huán)境 |
| WM_APP | 0x8000 | 幫助用戶自定義消息,自定義消息可以為WM_APP+X,X為正整數(shù) |
| WM_USER | 0x0400 | 幫助用戶自定義消息,自定義消息可以為WM_USER+X,X為正整數(shù) |
? 表A-3? 通知消息-按鈕
| 消息名稱 | 說(shuō) 明 |
| BN_CLICKED | 單擊按鈕 |
| BN_DISABLE | 按鈕被禁止 |
| BN_DOUBLECLICKED | 雙擊按鈕 |
| BN_HILITE | 加亮按鈕 |
| BN_PAINT | 按鈕應(yīng)當(dāng)重畫 |
| BN_UNHILITE | 加亮應(yīng)當(dāng)去掉 |
表A-4? 通知消息-組合框
| 消息名稱 | 說(shuō) 明 |
| CBN_CLOSEUP | 組合框的列表框被關(guān)閉 |
| CBN_DBLCLK | 用戶雙擊了一個(gè)字符串 |
| CBN_DROPDOWN | 組合框的列表框被拉下 |
| CBN_EDITCHANGE | 用戶修改了組合框中的文本 |
| CBN_EDITUPDATE | 組合框內(nèi)的文本即將更新 |
| CBN_ERRSPACE | 組合框內(nèi)存不足 |
| CBN_KILLFOCUS | 組合框失去輸入焦點(diǎn) |
| CBN_SELCHANGE | 在組合框中選擇了一項(xiàng) |
| CBN_SELENDCANCEL | 用戶的選擇將被忽略 |
| CBN_SELENDOK | 用戶的選擇將被執(zhí)行 |
| CBN_SETFOCUS | 組合框獲得輸入焦點(diǎn) |
表A-5? 通知消息-編輯框
| 消息名稱 | 說(shuō) 明 |
| EN_CHANGE | 編輯框中的文本己更新 |
| EN_ERRSPACE | 編輯框內(nèi)存不足 |
| EN_HSCROLL | 用戶點(diǎn)擊了水平滾動(dòng)條 |
| EN_KILLFOCUS | 編輯框失去輸入焦點(diǎn) |
| EN_MAXTEXT | 插入的內(nèi)容被截?cái)?/p> |
| EN_SETFOCUS | 編輯框獲得輸入焦點(diǎn) |
| EN_UPDATE | 編輯框中的文本將要更新 |
| EN_VSCROLL | 用戶點(diǎn)擊了垂直滾動(dòng)條 |
表A-6? 通知消息-列表框
| 消息名稱 | 說(shuō) 明 |
| LBN_DBLCLK | 用戶雙擊了一項(xiàng) |
| LBN_ERRSPACE | 列表框內(nèi)存不足 |
| LBN_KILLFOCUS | 列表框正在失去輸入焦點(diǎn) |
| LBN_SELCANCEL | 用戶選擇被取消 |
| LBN_SELCHANGE | 用戶選擇將改變 |
| LBN_SETFOCUS | 列表框獲得輸入焦點(diǎn) |
Windows消息大全
?
Windows是一消息(Message)驅(qū)動(dòng)式系統(tǒng),Windows消息提供了應(yīng)用程序與應(yīng)用程序之間、應(yīng)用程序與Windows系統(tǒng)之間進(jìn)行通訊的手段。應(yīng)用程序要實(shí)現(xiàn)的功能由消息來(lái)觸發(fā),并靠對(duì)消息的響應(yīng)和處理來(lái)完成。Windows系統(tǒng)中有兩種消息隊(duì)列,一種是系統(tǒng)消息隊(duì)列,另一種是應(yīng)用程序消息隊(duì)列。計(jì)算機(jī)的所有輸入設(shè)備由 Windows監(jiān)控,當(dāng)一個(gè)事件發(fā)生時(shí),Windows先將輸入的消息放入系統(tǒng)消息隊(duì)列中,然后再將輸入的消息拷貝到相應(yīng)的應(yīng)用程序隊(duì)列中,應(yīng)用程序中的消息循環(huán)從它的消息隊(duì)列中檢索每一個(gè)消息并發(fā)送給相應(yīng)的窗口函數(shù)中。一個(gè)事件的發(fā)生,到達(dá)處理它的窗口函數(shù)必須經(jīng)歷上述過(guò)程。值得注意的是消息的非搶先性,即不論事件的急與緩,總是按到達(dá)的先后排隊(duì)(一些系統(tǒng)消息除外),這就使得一些外部實(shí)時(shí)事件可能得不到及時(shí)的處理。
?
由于Windows本身是由消息驅(qū)動(dòng)的,舉一個(gè)例子來(lái)說(shuō)明這個(gè)問(wèn)題。打開(kāi)記事本程序,該程序有一個(gè)File菜單,那么,在運(yùn)行該應(yīng)用程序的時(shí)候,如果用戶單擊了File菜單里New命令時(shí),這個(gè)動(dòng)作將被Windows (而不是應(yīng)用程序本身!)所捕獲,Windows經(jīng)過(guò)分析得知這個(gè)動(dòng)作應(yīng)該由上面所說(shuō)的那個(gè)應(yīng)用程序去處理,既然是這樣,Windows就發(fā)送了個(gè)叫做WM_COMMAND的消息給應(yīng)用程序,該消息所包含信息告訴應(yīng)用程序:"用戶單擊了New菜單",應(yīng)用程序得知這一消息之后,采取相應(yīng)的動(dòng)作來(lái)響應(yīng)它,這個(gè)過(guò)程稱為消息處理。Windows為每一個(gè)應(yīng)用程序(確切地說(shuō)是每一個(gè)線程)維護(hù)了相應(yīng)的消息隊(duì)列,應(yīng)用程序的任務(wù)就是不停的從它的消息隊(duì)列中獲取消息,分析消息和處理消息,直到一條接到叫做WM_QUIT消息為止,這個(gè)過(guò)程通常是由一種叫做消息循環(huán)的程序結(jié)構(gòu)來(lái)實(shí)現(xiàn)的。
?
消息本身是作為一個(gè)記錄傳遞給應(yīng)用程序的,這個(gè)記錄中包含了消息的類型以及其他信息。例如,對(duì)于單擊鼠標(biāo)所產(chǎn)生的消息來(lái)說(shuō),這個(gè)記錄中包含了單擊鼠標(biāo)時(shí)的坐標(biāo)。這個(gè)記錄類型叫做T M s g,它在Wi n d o w s單元中是這樣聲明的:
?
type
TMsg = packedrecord
hwnd: HWND / /窗口句柄
message: UINT / /消息常量標(biāo)識(shí)符
wParam: WPA R AM? // 32位消息的特定附加信息
lParam: LPA R AM? // 32位消息的特定附加信息
time: DWORD / /消息創(chuàng)建時(shí)的時(shí)間
pt: TPoint / /消息創(chuàng)建時(shí)的鼠標(biāo)位置
end
?
消息中有什么?
是否覺(jué)得一個(gè)消息記錄中的信息像希臘語(yǔ)一樣?如果是這樣,那么看一看下面的解釋:
hwnd 32位的窗口句柄。窗口可以是任何類型的屏幕對(duì)象,因?yàn)閃in32能夠維護(hù)大多數(shù)可視對(duì)象的句柄(窗口、對(duì)話框、按鈕、編輯框等)。
message 用于區(qū)別其他消息的常量值,這些常量可以是Windows單元中預(yù)定義的常量,也可以是自定義的常量。
wParam 通常是一個(gè)與消息有關(guān)的常量值,也可能是窗口或控件的句柄。
lParam 通常是一個(gè)指向內(nèi)存中數(shù)據(jù)的指針。由于WParm、lParam和Pointer都是32位的,因此,它們之間可以相互轉(zhuǎn)換。
?
WM_NULL = 0
WM_CREATE = 1
應(yīng)用程序創(chuàng)建一個(gè)窗口
WM_DESTROY = 2
一個(gè)窗口被銷毀
WM_MOVE = 3
移動(dòng)一個(gè)窗口
WM_SIZE = 5
改變一個(gè)窗口的大小
WM_ACTIVATE = 6
一個(gè)窗口被激活或失去激活狀態(tài);
WM_SETFOCUS = 7
獲得焦點(diǎn)后
WM_KILLFOCUS = 8
失去焦點(diǎn)
WM_ENABLE = 10
改變enable狀態(tài)
WM_SETREDRAW = 11
設(shè)置窗口是否能重畫
WM_SETTEXT = 12
應(yīng)用程序發(fā)送此消息來(lái)設(shè)置一個(gè)窗口的文本
WM_GETTEXT = 13
應(yīng)用程序發(fā)送此消息來(lái)復(fù)制對(duì)應(yīng)窗口的文本到緩沖區(qū)
WM_GETTEXTLENGTH =14
得到與一個(gè)窗口有關(guān)的文本的長(zhǎng)度(不包含空字符)
WM_PAINT = 15
要求一個(gè)窗口重畫自己
WM_CLOSE = 16
當(dāng)一個(gè)窗口或應(yīng)用程序要關(guān)閉時(shí)發(fā)送一個(gè)信號(hào)
WM_QUERYENDSESSION= 17
當(dāng)用戶選擇結(jié)束對(duì)話框或程序自己調(diào)用ExitWindows函數(shù)
WM_QUIT = 18
用來(lái)結(jié)束程序運(yùn)行或當(dāng)程序調(diào)用postquitmessage函數(shù)
WM_QUERYOPEN = 19
當(dāng)用戶窗口恢復(fù)以前的大小位置時(shí),把此消息發(fā)送給某個(gè)圖標(biāo)
WM_ERASEBKGND = 20
當(dāng)窗口背景必須被擦除時(shí)(例在窗口改變大小時(shí))
WM_SYSCOLORCHANGE =21
當(dāng)系統(tǒng)顏色改變時(shí),發(fā)送此消息給所有頂級(jí)窗口
WM_ENDSESSION = 22
當(dāng)系統(tǒng)進(jìn)程發(fā)出WM_QUERYENDSESSION消息后,此消息發(fā)送給應(yīng)用程序,
通知它對(duì)話是否結(jié)束
WM_SYSTEMERROR = 23
WM_SHOWWINDOW = 24
當(dāng)隱藏或顯示窗口是發(fā)送此消息給這個(gè)窗口
WM_ACTIVATEAPP = 28
發(fā)此消息給應(yīng)用程序哪個(gè)窗口是激活的,哪個(gè)是非激活的;
WM_FONTCHANGE = 29
當(dāng)系統(tǒng)的字體資源庫(kù)變化時(shí)發(fā)送此消息給所有頂級(jí)窗口
WM_TIMECHANGE = 30
當(dāng)系統(tǒng)的時(shí)間變化時(shí)發(fā)送此消息給所有頂級(jí)窗口
WM_CANCELMODE = 31
發(fā)送此消息來(lái)取消某種正在進(jìn)行的摸態(tài)(操作)
WM_SETCURSOR = 32
如果鼠標(biāo)引起光標(biāo)在某個(gè)窗口中移動(dòng)且鼠標(biāo)輸入沒(méi)有被捕獲時(shí),就發(fā)消息給某個(gè)窗口
WM_MOUSEACTIVATE =33
當(dāng)光標(biāo)在某個(gè)非激活的窗口中而用戶正按著鼠標(biāo)的某個(gè)鍵發(fā)送此消息給當(dāng)前窗口
WM_CHILDACTIVATE =34
發(fā)送此消息給MDI子窗口當(dāng)用戶點(diǎn)擊此窗口的標(biāo)題欄,或當(dāng)窗口被激活,移動(dòng),改變大小
WM_QUEUESYNC = 35
此消息由基于計(jì)算機(jī)的訓(xùn)練程序發(fā)送,通過(guò)WH_JOURNALPALYBACK的hook程序
分離出用戶輸入消息
WM_GETMINMAXINFO =36
此消息發(fā)送給窗口當(dāng)它將要改變大小或位置;
WM_PAINTICON = 38
發(fā)送給最小化窗口當(dāng)它圖標(biāo)將要被重畫
WM_ICONERASEBKGND =39
此消息發(fā)送給某個(gè)最小化窗口,僅當(dāng)它在畫圖標(biāo)前它的背景必須被重畫
WM_NEXTDLGCTL = 40
發(fā)送此消息給一個(gè)對(duì)話框程序去更改焦點(diǎn)位置
WM_SPOOLERSTATUS =42
每當(dāng)打印管理列隊(duì)增加或減少一條作業(yè)時(shí)發(fā)出此消息
WM_DRAWITEM = 43
當(dāng)button,combobox,listbox,menu的可視外觀改變時(shí)發(fā)送
此消息給這些空件的所有者
WM_MEASUREITEM = 44
當(dāng)button, combo box, list box, list view control, or menu item 被創(chuàng)建時(shí)
發(fā)送此消息給控件的所有者
WM_DELETEITEM = 45
當(dāng)the list box 或 combo box 被銷毀 或 當(dāng) 某些項(xiàng)被刪除通過(guò)LB_DELETESTRING,LB_RESETCONTENT, CB_DELETESTRING, or CB_RESETCONTENT 消息
WM_VKEYTOITEM = 46
此消息有一個(gè)LBS_WANTKEYBOARDINPUT風(fēng)格的發(fā)出給它的所有者來(lái)響應(yīng)WM_KEYDOWN消息
WM_CHARTOITEM = 47
此消息由一個(gè)LBS_WANTKEYBOARDINPUT風(fēng)格的列表框發(fā)送給他的所有者來(lái)響應(yīng)WM_CHAR消息
WM_SETFONT = 48
當(dāng)繪制文本時(shí)程序發(fā)送此消息得到控件要用的顏色
WM_GETFONT = 49
應(yīng)用程序發(fā)送此消息得到當(dāng)前控件繪制文本的字體
WM_SETHOTKEY = 50
應(yīng)用程序發(fā)送此消息讓一個(gè)窗口與一個(gè)熱鍵相關(guān)連
WM_GETHOTKEY = 51
應(yīng)用程序發(fā)送此消息來(lái)判斷熱鍵與某個(gè)窗口是否有關(guān)聯(lián)
WM_QUERYDRAGICON =55
此消息發(fā)送給最小化窗口,當(dāng)此窗口將要被拖放而它的類中沒(méi)有定義圖標(biāo),應(yīng)用程序能
返回一個(gè)圖標(biāo)或光標(biāo)的句柄,當(dāng)用戶拖放圖標(biāo)時(shí)系統(tǒng)顯示這個(gè)圖標(biāo)或光標(biāo)
WM_COMPAREITEM = 57
發(fā)送此消息來(lái)判定combobox或listbox新增加的項(xiàng)的相對(duì)位置
WM_GETOBJECT = 61
WM_COMPACTING = 65
顯示內(nèi)存已經(jīng)很少了
WM_WINDOWPOSCHANGING= 70
發(fā)送此消息給那個(gè)窗口的大小和位置將要被改變時(shí),來(lái)調(diào)用setwindowpos函數(shù)或其它窗口管理函數(shù)
WM_WINDOWPOSCHANGED= 71
發(fā)送此消息給那個(gè)窗口的大小和位置已經(jīng)被改變時(shí),來(lái)調(diào)用setwindowpos函數(shù)或其它窗口管理函數(shù)
WM_POWER = 72(適用于16位的windows)
當(dāng)系統(tǒng)將要進(jìn)入暫停狀態(tài)時(shí)發(fā)送此消息
WM_COPYDATA = 74
當(dāng)一個(gè)應(yīng)用程序傳遞數(shù)據(jù)給另一個(gè)應(yīng)用程序時(shí)發(fā)送此消息
WM_CANCELJOURNAL =75
當(dāng)某個(gè)用戶取消程序日志激活狀態(tài),提交此消息給程序
WM_NOTIFY = 78
當(dāng)某個(gè)控件的某個(gè)事件已經(jīng)發(fā)生或這個(gè)控件需要得到一些信息時(shí),發(fā)送此消息給它的父窗口
WM_INPUTLANGCHANGEREQUEST= 80
當(dāng)用戶選擇某種輸入語(yǔ)言,或輸入語(yǔ)言的熱鍵改變
WM_INPUTLANGCHANGE= 81
當(dāng)平臺(tái)現(xiàn)場(chǎng)已經(jīng)被改變后發(fā)送此消息給受影響的最頂級(jí)窗口
WM_TCARD = 82
當(dāng)程序已經(jīng)初始化windows幫助例程時(shí)發(fā)送此消息給應(yīng)用程序
WM_HELP = 83
此消息顯示用戶按下了F1,如果某個(gè)菜單是激活的,就發(fā)送此消息個(gè)此窗口關(guān)聯(lián)的菜單,否則就
發(fā)送給有焦點(diǎn)的窗口,如果當(dāng)前都沒(méi)有焦點(diǎn),就把此消息發(fā)送給當(dāng)前激活的窗口
WM_USERCHANGED = 84
當(dāng)用戶已經(jīng)登入或退出后發(fā)送此消息給所有的窗口,當(dāng)用戶登入或退出時(shí)系統(tǒng)更新用戶的具體
設(shè)置信息,在用戶更新設(shè)置時(shí)系統(tǒng)馬上發(fā)送此消息;
WM_NOTIFYFORMAT =85
公用控件,自定義控件和他們的父窗口通過(guò)此消息來(lái)判斷控件是使用ANSI還是UNICODE結(jié)構(gòu)
在WM_NOTIFY消息,使用此控件能使某個(gè)控件與它的父控件之間進(jìn)行相互通信
WM_CONTEXTMENU =123
當(dāng)用戶某個(gè)窗口中點(diǎn)擊了一下右鍵就發(fā)送此消息給這個(gè)窗口
WM_STYLECHANGING =124
當(dāng)調(diào)用SETWINDOWLONG函數(shù)將要改變一個(gè)或多個(gè) 窗口的風(fēng)格時(shí)發(fā)送此消息給那個(gè)窗口
WM_STYLECHANGED =125
當(dāng)調(diào)用SETWINDOWLONG函數(shù)一個(gè)或多個(gè) 窗口的風(fēng)格后發(fā)送此消息給那個(gè)窗口
WM_DISPLAYCHANGE =126
當(dāng)顯示器的分辨率改變后發(fā)送此消息給所有的窗口
WM_GETICON = 127
此消息發(fā)送給某個(gè)窗口來(lái)返回與某個(gè)窗口有關(guān)連的大圖標(biāo)或小圖標(biāo)的句柄;
WM_SETICON = 128
程序發(fā)送此消息讓一個(gè)新的大圖標(biāo)或小圖標(biāo)與某個(gè)窗口關(guān)聯(lián);
WM_NCCREATE = 129
當(dāng)某個(gè)窗口第一次被創(chuàng)建時(shí),此消息在WM_CREATE消息發(fā)送前發(fā)送;
WM_NCDESTROY = 130
此消息通知某個(gè)窗口,非客戶區(qū)正在銷毀
WM_NCCALCSIZE = 131
當(dāng)某個(gè)窗口的客戶區(qū)域必須被核算時(shí)發(fā)送此消息
WM_NCHITTEST =132//移動(dòng)鼠標(biāo),按住或釋放鼠標(biāo)時(shí)發(fā)生
WM_NCPAINT = 133
程序發(fā)送此消息給某個(gè)窗口當(dāng)它(窗口)的框架必須被繪制時(shí);
WM_NCACTIVATE = 134
此消息發(fā)送給某個(gè)窗口僅當(dāng)它的非客戶區(qū)需要被改變來(lái)顯示是激活還是非激活狀態(tài);
WM_GETDLGCODE = 135
發(fā)送此消息給某個(gè)與對(duì)話框程序關(guān)聯(lián)的控件,widdows控制方位鍵和TAB鍵使輸入進(jìn)入此控件
通過(guò)響應(yīng)WM_GETDLGCODE消息,應(yīng)用程序可以把他當(dāng)成一個(gè)特殊的輸入控件并能處理它
WM_NCMOUSEMOVE =160
當(dāng)光標(biāo)在一個(gè)窗口的非客戶區(qū)內(nèi)移動(dòng)時(shí)發(fā)送此消息給這個(gè)窗口 //非客戶區(qū)為:窗體的標(biāo)題欄及窗
的邊框體
WM_NCLBUTTONDOWN =161
當(dāng)光標(biāo)在一個(gè)窗口的非客戶區(qū)同時(shí)按下鼠標(biāo)左鍵時(shí)提交此消息
WM_NCLBUTTONUP =162
當(dāng)用戶釋放鼠標(biāo)左鍵同時(shí)光標(biāo)某個(gè)窗口在非客戶區(qū)十發(fā)送此消息;
WM_NCLBUTTONDBLCLK= 163
當(dāng)用戶雙擊鼠標(biāo)左鍵同時(shí)光標(biāo)某個(gè)窗口在非客戶區(qū)十發(fā)送此消息
WM_NCRBUTTONDOWN =164
當(dāng)用戶按下鼠標(biāo)右鍵同時(shí)光標(biāo)又在窗口的非客戶區(qū)時(shí)發(fā)送此消息
WM_NCRBUTTONUP =165
當(dāng)用戶釋放鼠標(biāo)右鍵同時(shí)光標(biāo)又在窗口的非客戶區(qū)時(shí)發(fā)送此消息
WM_NCRBUTTONDBLCLK= 166
當(dāng)用戶雙擊鼠標(biāo)右鍵同時(shí)光標(biāo)某個(gè)窗口在非客戶區(qū)十發(fā)送此消息
WM_NCMBUTTONDOWN =167
當(dāng)用戶按下鼠標(biāo)中鍵同時(shí)光標(biāo)又在窗口的非客戶區(qū)時(shí)發(fā)送此消息
WM_NCMBUTTONUP =168
當(dāng)用戶釋放鼠標(biāo)中鍵同時(shí)光標(biāo)又在窗口的非客戶區(qū)時(shí)發(fā)送此消息
WM_NCMBUTTONDBLCLK= 169
當(dāng)用戶雙擊鼠標(biāo)中鍵同時(shí)光標(biāo)又在窗口的非客戶區(qū)時(shí)發(fā)送此消息
WM_KEYFIRST = 256
WM_KEYDOWN = 256
//按下一個(gè)鍵
WM_KEYUP = 257
//釋放一個(gè)鍵
WM_CHAR = 258
//按下某鍵,并已發(fā)出WM_KEYDOWN, WM_KEYUP消息
WM_DEADCHAR = 259
當(dāng)用translatemessage函數(shù)翻譯WM_KEYUP消息時(shí)發(fā)送此消息給擁有焦點(diǎn)的窗口
WM_SYSKEYDOWN = 260
當(dāng)用戶按住ALT鍵同時(shí)按下其它鍵時(shí)提交此消息給擁有焦點(diǎn)的窗口;
WM_SYSKEYUP = 261
當(dāng)用戶釋放一個(gè)鍵同時(shí)ALT 鍵還按著時(shí)提交此消息給擁有焦點(diǎn)的窗口
WM_SYSCHAR = 262
當(dāng)WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函數(shù)翻譯后提交此消息給擁有焦點(diǎn)的窗口
WM_SYSDEADCHAR =263
當(dāng)WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函數(shù)翻譯后發(fā)送此消息給擁有焦點(diǎn)的窗口
WM_KEYLAST = 264
WM_INITDIALOG = 272
在一個(gè)對(duì)話框程序被顯示前發(fā)送此消息給它,通常用此消息初始化控件和執(zhí)行其它任務(wù)
WM_COMMAND = 273
當(dāng)用戶選擇一條菜單命令項(xiàng)或當(dāng)某個(gè)控件發(fā)送一條消息給它的父窗口,一個(gè)快捷鍵被翻譯
WM_SYSCOMMAND = 274
當(dāng)用戶選擇窗口菜單的一條命令或當(dāng)用戶選擇最大化或最小化時(shí)那個(gè)窗口會(huì)收到此消息
WM_TIMER = 275 //發(fā)生了定時(shí)器事件
WM_HSCROLL = 276
當(dāng)一個(gè)窗口標(biāo)準(zhǔn)水平滾動(dòng)條產(chǎn)生一個(gè)滾動(dòng)事件時(shí)發(fā)送此消息給那個(gè)窗口,也發(fā)送給擁有它的控件
WM_VSCROLL = 277
當(dāng)一個(gè)窗口標(biāo)準(zhǔn)垂直滾動(dòng)條產(chǎn)生一個(gè)滾動(dòng)事件時(shí)發(fā)送此消息給那個(gè)窗口也,發(fā)送給擁有它的控件 WM_INITMENU = 278
當(dāng)一個(gè)菜單將要被激活時(shí)發(fā)送此消息,它發(fā)生在用戶菜單條中的某項(xiàng)或按下某個(gè)菜單鍵,它允許
程序在顯示前更改菜單
WM_INITMENUPOPUP =279
當(dāng)一個(gè)下拉菜單或子菜單將要被激活時(shí)發(fā)送此消息,它允許程序在它顯示前更改菜單,而不要
改變?nèi)?/p>
WM_MENUSELECT = 287
當(dāng)用戶選擇一條菜單項(xiàng)時(shí)發(fā)送此消息給菜單的所有者(一般是窗口)
WM_MENUCHAR = 288
當(dāng)菜單已被激活用戶按下了某個(gè)鍵(不同于加速鍵),發(fā)送此消息給菜單的所有者;
WM_ENTERIDLE = 289
當(dāng)一個(gè)模態(tài)對(duì)話框或菜單進(jìn)入空載狀態(tài)時(shí)發(fā)送此消息給它的所有者,一個(gè)模態(tài)對(duì)話框或菜單進(jìn)入空載狀態(tài)就是在處理完一條或幾條先前的消息后沒(méi)有消息它的列隊(duì)中等待
WM_MENURBUTTONUP =290
WM_MENUDRAG = 291
WM_MENUGETOBJECT =292
WM_UNINITMENUPOPUP= 293
WM_MENUCOMMAND =294
WM_CHANGEUISTATE =295
WM_UPDATEUISTATE =296
WM_QUERYUISTATE =297
WM_CTLCOLORMSGBOX =306
在windows繪制消息框前發(fā)送此消息給消息框的所有者窗口,通過(guò)響應(yīng)這條消息,所有者窗口可以
通過(guò)使用給定的相關(guān)顯示設(shè)備的句柄來(lái)設(shè)置消息框的文本和背景顏色
WM_CTLCOLOREDIT =307
當(dāng)一個(gè)編輯型控件將要被繪制時(shí)發(fā)送此消息給它的父窗口;通過(guò)響應(yīng)這條消息,所有者窗口可以
通過(guò)使用給定的相關(guān)顯示設(shè)備的句柄來(lái)設(shè)置編輯框的文本和背景顏色
WM_CTLCOLORLISTBOX= 308
當(dāng)一個(gè)列表框控件將要被繪制前發(fā)送此消息給它的父窗口;通過(guò)響應(yīng)這條消息,所有者窗口可以
通過(guò)使用給定的相關(guān)顯示設(shè)備的句柄來(lái)設(shè)置列表框的文本和背景顏色
WM_CTLCOLORBTN =309
當(dāng)一個(gè)按鈕控件將要被繪制時(shí)發(fā)送此消息給它的父窗口;通過(guò)響應(yīng)這條消息,所有者窗口可以
通過(guò)使用給定的相關(guān)顯示設(shè)備的句柄來(lái)設(shè)置按紐的文本和背景顏色
WM_CTLCOLORDLG =310
當(dāng)一個(gè)對(duì)話框控件將要被繪制前發(fā)送此消息給它的父窗口;通過(guò)響應(yīng)這條消息,所有者窗口可以
通過(guò)使用給定的相關(guān)顯示設(shè)備的句柄來(lái)設(shè)置對(duì)話框的文本背景顏色
WM_CTLCOLORSCROLLBAR=311
當(dāng)一個(gè)滾動(dòng)條控件將要被繪制時(shí)發(fā)送此消息給它的父窗口;通過(guò)響應(yīng)這條消息,所有者窗口可以
通過(guò)使用給定的相關(guān)顯示設(shè)備的句柄來(lái)設(shè)置滾動(dòng)條的背景顏色
WM_CTLCOLORSTATIC =312
當(dāng)一個(gè)靜態(tài)控件將要被繪制時(shí)發(fā)送此消息給它的父窗口;通過(guò)響應(yīng)這條消息,所有者窗口可以
通過(guò)使用給定的相關(guān)顯示設(shè)備的句柄來(lái)設(shè)置靜態(tài)控件的文本和背景顏色
WM_MOUSEFIRST = 512
WM_MOUSEMOVE = 512
// 移動(dòng)鼠標(biāo)
WM_LBUTTONDOWN =513
//按下鼠標(biāo)左鍵
WM_LBUTTONUP = 514
//釋放鼠標(biāo)左鍵
WM_LBUTTONDBLCLK =515
//雙擊鼠標(biāo)左鍵
WM_RBUTTONDOWN =516
//按下鼠標(biāo)右鍵
WM_RBUTTONUP = 517
//釋放鼠標(biāo)右鍵
WM_RBUTTONDBLCLK =518
//雙擊鼠標(biāo)右鍵
WM_MBUTTONDOWN =519
//按下鼠標(biāo)中鍵
WM_MBUTTONUP = 520
//釋放鼠標(biāo)中鍵
WM_MBUTTONDBLCLK =521
//雙擊鼠標(biāo)中鍵
WM_MOUSEWHEEL = 522
當(dāng)鼠標(biāo)輪子轉(zhuǎn)動(dòng)時(shí)發(fā)送此消息個(gè)當(dāng)前有焦點(diǎn)的控件
WM_MOUSELAST = 522
WM_PARENTNOTIFY =528
當(dāng)MDI子窗口被創(chuàng)建或被銷毀,或用戶按了一下鼠標(biāo)鍵而光標(biāo)在子窗口上時(shí)發(fā)送此消息給它的父窗口
WM_ENTERMENULOOP =529
發(fā)送此消息通知應(yīng)用程序的主窗口that已經(jīng)進(jìn)入了菜單循環(huán)模式
WM_EXITMENULOOP =530
發(fā)送此消息通知應(yīng)用程序的主窗口that已退出了菜單循環(huán)模式
WM_NEXTMENU = 531
WM_SIZING = 532
當(dāng)用戶正在調(diào)整窗口大小時(shí)發(fā)送此消息給窗口;通過(guò)此消息應(yīng)用程序可以監(jiān)視窗口大小和位置
也可以修改他們
WM_CAPTURECHANGED =533
發(fā)送此消息給窗口當(dāng)它失去捕獲的鼠標(biāo)時(shí);
WM_MOVING = 534
當(dāng)用戶在移動(dòng)窗口時(shí)發(fā)送此消息,通過(guò)此消息應(yīng)用程序可以監(jiān)視窗口大小和位置
也可以修改他們;
WM_POWERBROADCAST =536
此消息發(fā)送給應(yīng)用程序來(lái)通知它有關(guān)電源管理事件;
WM_DEVICECHANGE =537
當(dāng)設(shè)備的硬件配置改變時(shí)發(fā)送此消息給應(yīng)用程序或設(shè)備驅(qū)動(dòng)程序
WM_IME_STARTCOMPOSITION= 269
WM_IME_ENDCOMPOSITION= 270
WM_IME_COMPOSITION= 271
WM_IME_KEYLAST =271
WM_IME_SETCONTEXT =641
WM_IME_NOTIFY = 642
WM_IME_CONTROL =643
WM_IME_COMPOSITIONFULL= 644
WM_IME_SELECT = 645
WM_IME_CHAR = 646
WM_IME_REQUEST =648
WM_IME_KEYDOWN =656
WM_IME_KEYUP = 657
WM_MDICREATE = 544
應(yīng)用程序發(fā)送此消息給多文檔的客戶窗口來(lái)創(chuàng)建一個(gè)MDI 子窗口
WM_MDIDESTROY = 545
應(yīng)用程序發(fā)送此消息給多文檔的客戶窗口來(lái)關(guān)閉一個(gè)MDI 子窗口
WM_MDIACTIVATE =546
應(yīng)用程序發(fā)送此消息給多文檔的客戶窗口通知客戶窗口激活另一個(gè)MDI子窗口,當(dāng)客戶窗口收到
此消息后,它發(fā)出WM_MDIACTIVE消息給MDI子窗口(未激活)激活它;
WM_MDIRESTORE = 547
程序發(fā)送此消息給MDI客戶窗口讓子窗口從最大最小化恢復(fù)到原來(lái)大小
WM_MDINEXT = 548
程序發(fā)送此消息給MDI客戶窗口激活下一個(gè)或前一個(gè)窗口
WM_MDIMAXIMIZE =549
程序發(fā)送此消息給MDI客戶窗口來(lái)最大化一個(gè)MDI子窗口;
WM_MDITILE = 550
程序發(fā)送此消息給MDI客戶窗口以平鋪方式重新排列所有MDI子窗口
WM_MDICASCADE = 551
程序發(fā)送此消息給MDI客戶窗口以層疊方式重新排列所有MDI子窗口
WM_MDIICONARRANGE =552
程序發(fā)送此消息給MDI客戶窗口重新排列所有最小化的MDI子窗口
WM_MDIGETACTIVE =553
程序發(fā)送此消息給MDI客戶窗口來(lái)找到激活的子窗口的句柄
WM_MDISETMENU = 560
程序發(fā)送此消息給MDI客戶窗口用MDI菜單代替子窗口的菜單
WM_ENTERSIZEMOVE =561
WM_EXITSIZEMOVE =562
WM_DROPFILES = 563
WM_MDIREFRESHMENU =564
WM_MOUSEHOVER = 673
WM_MOUSELEAVE = 675
WM_CUT = 768
程序發(fā)送此消息給一個(gè)編輯框或combobox來(lái)刪除當(dāng)前選擇的文本
WM_COPY = 769
程序發(fā)送此消息給一個(gè)編輯框或combobox來(lái)復(fù)制當(dāng)前選擇的文本到剪貼板
WM_PASTE = 770
程序發(fā)送此消息給editcontrol或combobox從剪貼板中得到數(shù)據(jù)
WM_CLEAR = 771
程序發(fā)送此消息給editcontrol或combobox清除當(dāng)前選擇的內(nèi)容;
WM_UNDO = 772
程序發(fā)送此消息給editcontrol或combobox撤消最后一次操作
WM_RENDERFORMAT =773
WM_DESTROYCLIPBOARD= 775
當(dāng)調(diào)用ENPTYCLIPBOARD函數(shù)時(shí) 發(fā)送此消息給剪貼板的所有者
WM_DRAWCLIPBOARD =776
當(dāng)剪貼板的內(nèi)容變化時(shí)發(fā)送此消息給剪貼板觀察鏈的第一個(gè)窗口;它允許用剪貼板觀察窗口來(lái)
顯示剪貼板的新內(nèi)容;
WM_PAINTCLIPBOARD =777
當(dāng)剪貼板包含CF_OWNERDIPLAY格式的數(shù)據(jù)并且剪貼板觀察窗口的客戶區(qū)需要重畫;
WM_VSCROLLCLIPBOARD= 778
WM_SIZECLIPBOARD =779
當(dāng)剪貼板包含CF_OWNERDIPLAY格式的數(shù)據(jù)并且剪貼板觀察窗口的客戶區(qū)域的大小已經(jīng)改變是此消息通過(guò)剪貼板觀察窗口發(fā)送給剪貼板的所有者;
WM_ASKCBFORMATNAME= 780
通過(guò)剪貼板觀察窗口發(fā)送此消息給剪貼板的所有者來(lái)請(qǐng)求一個(gè)CF_OWNERDISPLAY格式的剪貼板的名字
WM_CHANGECBCHAIN =781
當(dāng)一個(gè)窗口從剪貼板觀察鏈中移去時(shí)發(fā)送此消息給剪貼板觀察鏈的第一個(gè)窗口;
WM_HSCROLLCLIPBOARD= 782
此消息通過(guò)一個(gè)剪貼板觀察窗口發(fā)送給剪貼板的所有者;它發(fā)生在當(dāng)剪貼板包含CFOWNERDISPALY格式的數(shù)據(jù)并且有個(gè)事件在剪貼板觀察窗的水平滾動(dòng)條上;所有者應(yīng)滾動(dòng)剪貼板圖象并更新滾動(dòng)條的值;
WM_QUERYNEWPALETTE= 783
此消息發(fā)送給將要收到焦點(diǎn)的窗口,此消息能使窗口在收到焦點(diǎn)時(shí)同時(shí)有機(jī)會(huì)實(shí)現(xiàn)他的邏輯調(diào)色板
WM_PALETTEISCHANGING=784
當(dāng)一個(gè)應(yīng)用程序正要實(shí)現(xiàn)它的邏輯調(diào)色板時(shí)發(fā)此消息通知所有的應(yīng)用程序
WM_PALETTECHANGED =785
此消息在一個(gè)擁有焦點(diǎn)的窗口實(shí)現(xiàn)它的邏輯調(diào)色板后發(fā)送此消息給所有頂級(jí)并重疊的窗口,以此
來(lái)改變系統(tǒng)調(diào)色板
WM_HOTKEY = 786
當(dāng)用戶按下由REGISTERHOTKEY函數(shù)注冊(cè)的熱鍵時(shí)提交此消息
WM_PRINT = 791
應(yīng)用程序發(fā)送此消息僅當(dāng)WINDOWS或其它應(yīng)用程序發(fā)出一個(gè)請(qǐng)求要求繪制一個(gè)應(yīng)用程序的一部分;
WM_PRINTCLIENT =792
WM_HANDHELDFIRST =856
WM_HANDHELDLAST =863
WM_PENWINFIRST =896
WM_PENWINLAST = 911
WM_COALESCE_FIRST =912
WM_COALESCE_LAST =927
WM_DDE_FIRST = 992
WM_DDE_INITIATE =WM_DDE_FIRST + 0
一個(gè)DDE客戶程序提交此消息開(kāi)始一個(gè)與服務(wù)器程序的會(huì)話來(lái)響應(yīng)那個(gè)指定的程序和主題名;
WM_DDE_TERMINATE =WM_DDE_FIRST + 1
一個(gè)DDE應(yīng)用程序(無(wú)論是客戶還是服務(wù)器)提交此消息來(lái)終止一個(gè)會(huì)話;
WM_DDE_ADVISE =WM_DDE_FIRST + 2
一個(gè)DDE客戶程序提交此消息給一個(gè)DDE服務(wù)程序來(lái)請(qǐng)求服務(wù)器每當(dāng)數(shù)據(jù)項(xiàng)改變時(shí)更新它
WM_DDE_UNADVISE =WM_DDE_FIRST + 3
一個(gè)DDE客戶程序通過(guò)此消息通知一個(gè)DDE服務(wù)程序不更新指定的項(xiàng)或一個(gè)特殊的剪貼板格式的項(xiàng)
WM_DDE_ACK = WM_DDE_FIRST+ 4
此消息通知一個(gè)DDE(動(dòng)態(tài)數(shù)據(jù)交換)程序已收到并正在處理WM_DDE_POKE, WM_DDE_EXECUTE, WM_DDE_DATA, WM_DDE_ADVISE,WM_DDE_UNADVISE, or WM_DDE_INITIAT消息
WM_DDE_DATA =WM_DDE_FIRST + 5
一個(gè)DDE服務(wù)程序提交此消息給DDE客戶程序來(lái)傳遞個(gè)一數(shù)據(jù)項(xiàng)給客戶或通知客戶的一條可用數(shù)據(jù)項(xiàng)
WM_DDE_REQUEST =WM_DDE_FIRST + 6
一個(gè)DDE客戶程序提交此消息給一個(gè)DDE服務(wù)程序來(lái)請(qǐng)求一個(gè)數(shù)據(jù)項(xiàng)的值;
WM_DDE_POKE =WM_DDE_FIRST + 7
一個(gè)DDE客戶程序提交此消息給一個(gè)DDE服務(wù)程序,客戶使用此消息來(lái)請(qǐng)求服務(wù)器接收一個(gè)未經(jīng)同意的數(shù)據(jù)項(xiàng);服務(wù)器通過(guò)答復(fù)WM_DDE_ACK消息提示是否它接收這個(gè)數(shù)據(jù)項(xiàng);
WM_DDE_EXECUTE =WM_DDE_FIRST + 8
一個(gè)DDE客戶程序提交此消息給一個(gè)DDE服務(wù)程序來(lái)發(fā)送一個(gè)字符串給服務(wù)器讓它象串行命令一樣被處理,服務(wù)器通過(guò)提交WM_DDE_ACK消息來(lái)作回應(yīng);
WM_DDE_LAST =WM_DDE_FIRST + 8
WM_APP = 32768
WM_USER = 1024
此消息能幫助應(yīng)用程序自定義私有消息;
/
通知消息(Notification message)是指這樣一種消息,一個(gè)窗口內(nèi)的子控件發(fā)生了一些事情,需要通
知父窗口。通知消息只適用于標(biāo)準(zhǔn)的窗口控件如按鈕、列表框、組合框、編輯框,以及Windows 95公
共控件如樹狀視圖、列表視圖等。例如,單擊或雙擊一個(gè)控件、在控件中選擇部分文本、操作控件的
滾動(dòng)條都會(huì)產(chǎn)生通知消息。
按扭
B N _ C L I C K E D//用戶單擊了按鈕
B N _ D I S A B L E//按鈕被禁止
B N _ D O U B L E CL I C K E D //用戶雙擊了按鈕
B N _ H I L I T E//用戶加亮了按鈕
B N _ PA I N T按鈕應(yīng)當(dāng)重畫
B N _ U N H I L I TE加亮應(yīng)當(dāng)去掉
組合框
C B N _ C L O S E UP組合框的列表框被關(guān)閉
C B N _ D B L C L K用戶雙擊了一個(gè)字符串
C B N _ D R O P D OW N組合框的列表框被拉出
C B N _ E D I T C HA N G E用戶修改了編輯框中的文本
C B N _ E D I T U PD AT E編輯框內(nèi)的文本即將更新
C B N _ E R R S PAC E組合框內(nèi)存不足
C B N _ K I L L F OC U S組合框失去輸入焦點(diǎn)
C B N _ S E L C H AN G E在組合框中選擇了一項(xiàng)
C B N _ S E L E N DC A N C E L用戶的選擇應(yīng)當(dāng)被取消
C B N _ S E L E N DO K用戶的選擇是合法的
C B N _ S E T F O CU S組合框獲得輸入焦點(diǎn)
編輯框
E N _ C H A N G E編輯框中的文本己更新
E N _ E R R S PA CE編輯框內(nèi)存不足
E N _ H S C R O L L用戶點(diǎn)擊了水平滾動(dòng)條
E N _ K I L L F O CU S編輯框正在失去輸入焦點(diǎn)
E N _ M A X T E X T插入的內(nèi)容被截?cái)?/p>
E N _ S E T F O C US編輯框獲得輸入焦點(diǎn)
E N _ U P D AT E編輯框中的文本將要更新
E N _ V S C R O L L用戶點(diǎn)擊了垂直滾動(dòng)條消息含義
列表框
L B N _ D B L C L K用戶雙擊了一項(xiàng)
L B N _ E R R S PAC E列表框內(nèi)存不夠
L B N _ K I L L F OC U S列表框正在失去輸入焦點(diǎn)
L B N _ S E L C A NC E L選擇被取消
L B N _ S E L C H AN G E選擇了另一項(xiàng)
L B N _ S E T F O CU S列表框獲得輸入焦點(diǎn)
?
1. 移動(dòng)控件
控件.發(fā)送信息 (274,61458, 0) 其中參數(shù)1的值自61457---61471都可用,結(jié)果是一樣的,都是移動(dòng)控件。還有一個(gè)大家都熟,就是控件.發(fā)送信息 (161, 2, 0)
2.調(diào)整控件尺寸
控件.發(fā)送信息 (274,61441, 0) (274,61442,0) (274,61443,0) (274,61444,0) (274,61445,0) (274,61446,0)(274,61447,0) (274,61448,0)
分別對(duì)應(yīng)調(diào)整控件的左寬度右寬度 頂高度 西北角 東北角 底寬度 西南角 東北角的尺寸。
此外,控件.發(fā)送信息(161,10,0) (161,11,0) (161,12,0) (161,13,0) (161,14,0) (161,15,0) (161,16,0) (161,16,0)
也是分別對(duì)應(yīng)調(diào)整控件的左寬度右寬度 頂高度 西北角 東北角 底寬度 西南角 東北角的尺寸。
3。控件最大化
控件.發(fā)送信息 (274,61450, 0)其中參數(shù)1的值自61488---61503都可用,結(jié)果是一樣的。
4??丶钚』?/p>
控件.發(fā)送信息 (274,61473, 0)其中參數(shù)1的值自61472---61487都可用,結(jié)果是一樣的。
5。馬上啟動(dòng)屏幕保護(hù)(如果電腦里沒(méi)設(shè)置屏幕保護(hù)本信息不起作用)
發(fā)送信息 (274, 61760, 0)其中參數(shù)1的值自61760---61776都可用,結(jié)果是一樣的。
6.出對(duì)話框--15秒進(jìn)入待機(jī)(win98下可用,winXP無(wú)效,其他未試)
控件.發(fā)送信息 (274,61840, 0)其中參數(shù)1的值自61840---61854都可用,結(jié)果是一樣的。
7。擊控件后鼠標(biāo)帶問(wèn)號(hào),再擊后消失。
控件.發(fā)送信息 (274,61836, 0)
8。關(guān)閉窗口
控件.發(fā)送信息 (16, 0,0)
9。發(fā)送控件鼠標(biāo)左鍵被按下的信息
控件.發(fā)送信息 (513, 0,0)
10。送控件鼠標(biāo)左鍵被放開(kāi)的信息
控件.發(fā)送信息 (514, 0,0)
11。清除窗口的標(biāo)題
控件.發(fā)送信息 (12, 0,0)
以下是易記事本里的:
12。復(fù)制
編輯框.發(fā)送信息 (769, 0,0)
13。粘帖
編輯框.發(fā)送信息 (770, 0,0)
14。全選
編輯框.發(fā)送信息 (177, 0,-1)
總結(jié)
以上是生活随笔為你收集整理的Windows 消息ID及定义大全的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: AI:初学者如何从零学习人工智能?看完你
- 下一篇: Windows消息机制疑问探究