易語言Windows消息大全
消息,就是指Windows發(fā)出的一個通知,告訴應(yīng)用程序某個事情發(fā)生了。例如,單擊鼠標(biāo)、改變窗口尺寸、按下鍵盤上的一個鍵都會使Windows發(fā)送一個消息給應(yīng)用程序。
消息本身是作為一個記錄傳遞給應(yīng)用程序的,這個記錄中包含了消息的類型以及其他信息。例如,對于單擊鼠標(biāo)所產(chǎn)生的消息來說,這個記錄中包含了單擊鼠標(biāo)時的坐標(biāo)。這個記錄類型叫做TMsg, 它在Windows單元中是這樣聲明的:
type TMsg = packed record hwnd: HWND; / /窗口句柄 message: UINT; / /消息常量標(biāo)識符 wParam: WPARAM ; // 32位消息的特定附加信息 lParam: LPARAM ; // 32位消息的特定附加信息 time: DWORD; / /消息創(chuàng)建時的時間 pt: TPoint; / /消息創(chuàng)建時的鼠標(biāo)位置 end;
消息中有什么?
是否覺得一個消息記錄中的信息像希臘語一樣?如果是這樣,那么看一看下面的解釋:
hwnd 32位的窗口句柄。窗口可以是任何類型的屏幕對象,因為Win32能夠維護大多數(shù)可視對象的句柄(窗口、對話框、按鈕、編輯框等)。
message 用于區(qū)別其他消息的常量值,這些常量可以是Windows單元中預(yù)定義的常量,也可以是自定義的常量。
wParam 通常是一個與消息有關(guān)的常量值,也可能是窗口或控件的句柄。
l
Param 通常是一個指向內(nèi)存中數(shù)據(jù)的指針。由于W P a r a m、l P a r a m和P o i n t e r都是3 2位的,
因此,它們之間可以相互轉(zhuǎn)換。
WM_NULL = 0;
WM_CREATE = 1;
應(yīng)用程序創(chuàng)建一個窗口
WM_DESTROY = 2;
一個窗口被銷毀
WM_MOVE = 3;
移動一個窗口
WM_SIZE = 5;
改變一個窗口的大小
WM_ACTIVATE = 6;
一個窗口被激活或失去激活狀態(tài);
WM_SETFOCUS = 7;
獲得焦點后
WM_KILLFOCUS = 8;
失去焦點
WM_ENABLE = 10;
改變enable狀態(tài)
WM_SETREDRAW = 11;
設(shè)置窗口是否能重畫
WM_SETTEXT = 12;
應(yīng)用程序發(fā)送此消息來設(shè)置一個窗口的文本
WM_GETTEXT = 13;
應(yīng)用程序發(fā)送此消息來復(fù)制對應(yīng)窗口的文本到緩沖區(qū)
WM_GETTEXTLENGTH = 14;
得到與一個窗口有關(guān)的文本的長度(不包含空字符)
WM_PAINT = 15;
要求一個窗口重畫自己
WM_CLOSE = 16;
當(dāng)一個窗口或應(yīng)用程序要關(guān)閉時發(fā)送一個信號
WM_QUERYENDSESSION = 17;
當(dāng)用戶選擇結(jié)束對話框或程序自己調(diào)用ExitWindows函數(shù)
WM_QUIT = 18;
用來結(jié)束程序運行或當(dāng)程序調(diào)用postquitmessage函數(shù)
WM_QUERYOPEN = 19;
當(dāng)用戶窗口恢復(fù)以前的大小位置時,把此消息發(fā)送給某個圖標(biāo)
WM_ERASEBKGND = 20;
當(dāng)窗口背景必須被擦除時(例在窗口改變大小時)
WM_SYSCOLORCHANGE = 21;
當(dāng)系統(tǒng)顏色改變時,發(fā)送此消息給所有頂級窗口
WM_ENDSESSION = 22;
當(dāng)系統(tǒng)進程發(fā)出WM_QUERYENDSESSION消息后,此消息發(fā)送給應(yīng)用程序,
通知它對話是否結(jié)束
WM_SYSTEMERROR = 23;
WM_SHOWWINDOW = 24;
當(dāng)隱藏或顯示窗口是發(fā)送此消息給這個窗口
WM_ACTIVATEAPP = 28;
發(fā)此消息給應(yīng)用程序哪個窗口是激活的,哪個是非激活的;
WM_FONTCHANGE = 29;
當(dāng)系統(tǒng)的字體資源庫變化時發(fā)送此消息給所有頂級窗口
WM_TIMECHANGE = 30;
當(dāng)系統(tǒng)的時間變化時發(fā)送此消息給所有頂級窗口
WM_CANCELMODE = 31;
發(fā)送此消息來取消某種正在進行的摸態(tài)(操作)
WM_SETCURSOR = 32;
如果鼠標(biāo)引起光標(biāo)在某個窗口中移動且鼠標(biāo)輸入沒有被捕獲時,就發(fā)消息給某個窗口
WM_MOUSEACTIVATE = 33;
當(dāng)光標(biāo)在某個非激活的窗口中而用戶正按著鼠標(biāo)的某個鍵發(fā)送此消息給當(dāng)前窗口
WM_CHILDACTIVATE = 34;
發(fā)送此消息給MDI子窗口當(dāng)用戶點擊此窗口的標(biāo)題欄,或當(dāng)窗口被激活,移動,改變大小
WM_QUEUESYNC = 35;
此消息由基于計算機的訓(xùn)練程序發(fā)送,通過WH_JOURNALPALYBACK的hook程序
分離出用戶輸入消息
WM_GETMINMAXINFO = 36;
此消息發(fā)送給窗口當(dāng)它將要改變大小或位置;
WM_PAINTICON = 38;
發(fā)送給最小化窗口當(dāng)它圖標(biāo)將要被重畫
WM_ICONERASEBKGND = 39;
此消息發(fā)送給某個最小化窗口,僅當(dāng)它在畫圖標(biāo)前它的背景必須被重畫
WM_NEXTDLGCTL = 40;
發(fā)送此消息給一個對話框程序去更改焦點位置
WM_SPOOLERSTATUS = 42;
每當(dāng)打印管理列隊增加或減少一條作業(yè)時發(fā)出此消息
WM_DRAWITEM = 43;
當(dāng)button,combobox,listbox,menu的可視外觀改變時發(fā)送
此消息給這些空件的所有者
WM_MEASUREITEM = 44;
當(dāng)button, combo box, list box, list view control, or menu item 被創(chuàng)建時
發(fā)送此消息給控件的所有者
WM_DELETEITEM = 45;
當(dāng)the list box 或 combo box 被銷毀 或 當(dāng) 某些項被刪除通過LB_DELETESTRING, LB_RESETCONTENT, CB_DELETESTRING, or CB_RESETCONTENT 消息
WM_VKEYTOITEM = 46;
此消息有一個LBS_WANTKEYBOARDINPUT風(fēng)格的發(fā)出給它的所有者來響應(yīng)WM_KEYDOWN消息
WM_CHARTOITEM = 47;
此消息由一個LBS_WANTKEYBOARDINPUT風(fēng)格的列表框發(fā)送給他的所有者來響應(yīng)WM_CHAR消息
WM_SETFONT = 48;
當(dāng)繪制文本時程序發(fā)送此消息得到控件要用的顏色
WM_GETFONT = 49;
應(yīng)用程序發(fā)送此消息得到當(dāng)前控件繪制文本的字體
WM_SETHOTKEY = 50;
應(yīng)用程序發(fā)送此消息讓一個窗口與一個熱鍵相關(guān)連
WM_GETHOTKEY = 51;
應(yīng)用程序發(fā)送此消息來判斷熱鍵與某個窗口是否有關(guān)聯(lián)
WM_QUERYDRAGICON = 55;
此消息發(fā)送給最小化窗口,當(dāng)此窗口將要被拖放而它的類中沒有定義圖標(biāo),應(yīng)用程序能返回一個圖標(biāo)或光標(biāo)的句柄,當(dāng)用戶拖放圖標(biāo)時系統(tǒng)顯示這個圖標(biāo)或光標(biāo)
WM_COMPAREITEM = 57;
發(fā)送此消息來判定combobox或listbox新增加的項的相對位置
WM_GETOBJECT = 61;
WM_COMPACTING = 65;
顯示內(nèi)存已經(jīng)很少了
WM_WINDOWPOSCHANGING = 70;
發(fā)送此消息給那個窗口的大小和位置將要被改變時,來調(diào)用setwindowpos函數(shù)或其它窗口管理函數(shù)
WM_WINDOWPOSCHANGED = 71;
發(fā)送此消息給那個窗口的大小和位置已經(jīng)被改變時,來調(diào)用setwindowpos函數(shù)或其它窗口管理函數(shù)
WM_POWER = 72;(適用于16位的windows)
當(dāng)系統(tǒng)將要進入暫停狀態(tài)時發(fā)送此消息
WM_COPYDATA = 74;
當(dāng)一個應(yīng)用程序傳遞數(shù)據(jù)給另一個應(yīng)用程序時發(fā)送此消息
WM_CANCELJOURNAL = 75;
當(dāng)某個用戶取消程序日志激活狀態(tài),提交此消息給程序
WM_NOTIFY = 78;
當(dāng)某個控件的某個事件已經(jīng)發(fā)生或這個控件需要得到一些信息時,發(fā)送此消息給它的父窗口
WM_INPUTLANGCHANGEREQUEST = 80;
當(dāng)用戶選擇某種輸入語言,或輸入語言的熱鍵改變
WM_INPUTLANGCHANGE = 81;
當(dāng)平臺現(xiàn)場已經(jīng)被改變后發(fā)送此消息給受影響的最頂級窗口
WM_TCARD = 82;
當(dāng)程序已經(jīng)初始化windows幫助例程時發(fā)送此消息給應(yīng)用程序
WM_HELP = 83;
此消息顯示用戶按下了F1,如果某個菜單是激活的,就發(fā)送此消息個此窗口關(guān)聯(lián)的菜單,否則就
發(fā)送給有焦點的窗口,如果當(dāng)前都沒有焦點,就把此消息發(fā)送給當(dāng)前激活的窗口
WM_USERCHANGED = 84;
當(dāng)用戶已經(jīng)登入或退出后發(fā)送此消息給所有的窗口,當(dāng)用戶登入或退出時系統(tǒng)更新用戶的具體
設(shè)置信息,在用戶更新設(shè)置時系統(tǒng)馬上發(fā)送此消息;
WM_NOTIFYFORMAT = 85;
公用控件,自定義控件和他們的父窗口通過此消息來判斷控件是使用ANSI還是UNICODE結(jié)構(gòu)
在WM_NOTIFY消息,使用此控件能使某個控件與它的父控件之間進行相互通信
WM_CONTEXTMENU = 123;
當(dāng)用戶某個窗口中點擊了一下右鍵就發(fā)送此消息給這個窗口
WM_STYLECHANGING = 124;
當(dāng)調(diào)用SETWINDOWLONG函數(shù)將要改變一個或多個 窗口的風(fēng)格時發(fā)送此消息給那個窗口
WM_STYLECHANGED = 125;
當(dāng)調(diào)用SETWINDOWLONG函數(shù)一個或多個 窗口的風(fēng)格后發(fā)送此消息給那個窗口
WM_DISPLAYCHANGE = 126;
當(dāng)顯示器的分辨率改變后發(fā)送此消息給所有的窗口
WM_GETICON = 127;
此消息發(fā)送給某個窗口來返回與某個窗口有關(guān)連的大圖標(biāo)或小圖標(biāo)的句柄;
WM_SETICON = 128;
程序發(fā)送此消息讓一個新的大圖標(biāo)或小圖標(biāo)與某個窗口關(guān)聯(lián);
WM_NCCREATE = 129;
當(dāng)某個窗口第一次被創(chuàng)建時,此消息在WM_CREATE消息發(fā)送前發(fā)送;
WM_NCDESTROY = 130;
此消息通知某個窗口,非客戶區(qū)正在銷毀
WM_NCCALCSIZE = 131;
當(dāng)某個窗口的客戶區(qū)域必須被核算時發(fā)送此消息
WM_NCHITTEST = 132;//移動鼠標(biāo),按住或釋放鼠標(biāo)時發(fā)生
WM_NCPAINT = 133;
程序發(fā)送此消息給某個窗口當(dāng)它(窗口)的框架必須被繪制時;
WM_NCACTIVATE = 134;
此消息發(fā)送給某個窗口 僅當(dāng)它的非客戶區(qū)需要被改變來顯示是激活還是非激活狀態(tài);
WM_GETDLGCODE = 135;
發(fā)送此消息給某個與對話框程序關(guān)聯(lián)的控件,widdows控制方位鍵和TAB鍵使輸入進入此控件
通過響應(yīng)WM_GETDLGCODE消息,應(yīng)用程序可以把他當(dāng)成一個特殊的輸入控件并能處理它
WM_NCMOUSEMOVE = 160;
當(dāng)光標(biāo)在一個窗口的非客戶區(qū)內(nèi)移動時發(fā)送此消息給這個窗口 //非客戶區(qū)為:窗體的標(biāo)題欄及窗
的邊框體
WM_NCLBUTTONDOWN = 161;
當(dāng)光標(biāo)在一個窗口的非客戶區(qū)同時按下鼠標(biāo)左鍵時提交此消息
WM_NCLBUTTONUP = 162;
當(dāng)用戶釋放鼠標(biāo)左鍵同時光標(biāo)某個窗口在非客戶區(qū)十發(fā)送此消息;
WM_NCLBUTTONDBLCLK = 163;
當(dāng)用戶雙擊鼠標(biāo)左鍵同時光標(biāo)某個窗口在非客戶區(qū)十發(fā)送此消息
WM_NCRBUTTONDOWN = 164;
當(dāng)用戶按下鼠標(biāo)右鍵同時光標(biāo)又在窗口的非客戶區(qū)時發(fā)送此消息
WM_NCRBUTTONUP = 165;
當(dāng)用戶釋放鼠標(biāo)右鍵同時光標(biāo)又在窗口的非客戶區(qū)時發(fā)送此消息
WM_NCRBUTTONDBLCLK = 166;
當(dāng)用戶雙擊鼠標(biāo)右鍵同時光標(biāo)某個窗口在非客戶區(qū)十發(fā)送此消息
WM_NCMBUTTONDOWN = 167;
當(dāng)用戶按下鼠標(biāo)中鍵同時光標(biāo)又在窗口的非客戶區(qū)時發(fā)送此消息
WM_NCMBUTTONUP = 168;
當(dāng)用戶釋放鼠標(biāo)中鍵同時光標(biāo)又在窗口的非客戶區(qū)時發(fā)送此消息
WM_NCMBUTTONDBLCLK = 169;
當(dāng)用戶雙擊鼠標(biāo)中鍵同時光標(biāo)又在窗口的非客戶區(qū)時發(fā)送此消息
WM_KEYFIRST = 256;
WM_KEYDOWN = 256;
//按下一個鍵
WM_KEYUP = 257;
//釋放一個鍵
WM_CHAR = 258;
//按下某鍵,并已發(fā)出WM_KEYDOWN, WM_KEYUP消息
WM_DEADCHAR = 259;
當(dāng)用translatemessage函數(shù)翻譯WM_KEYUP消息時發(fā)送此消息給擁有焦點的窗口
WM_SYSKEYDOWN = 260;
當(dāng)用戶按住ALT鍵同時按下其它鍵時提交此消息給擁有焦點的窗口;
WM_SYSKEYUP = 261;
當(dāng)用戶釋放一個鍵同時ALT 鍵還按著時提交此消息給擁有焦點的窗口
WM_SYSCHAR = 262;
當(dāng)WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函數(shù)翻譯后提交此消息給擁有焦點的窗口
WM_SYSDEADCHAR = 263;
當(dāng)WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函數(shù)翻譯后發(fā)送此消息給擁有焦點的窗口
WM_KEYLAST = 264;
WM_INITDIALOG = 272;
在一個對話框程序被顯示前發(fā)送此消息給它,通常用此消息初始化控件和執(zhí)行其它任務(wù)
WM_COMMAND = 273;
當(dāng)用戶選擇一條菜單命令項或當(dāng)某個控件發(fā)送一條消息給它的父窗口,一個快捷鍵被翻譯
WM_SYSCOMMAND = 274;
當(dāng)用戶選擇窗口菜單的一條命令或當(dāng)用戶選擇最大化或最小化時那個窗口會收到此消息
WM_TIMER = 275; //發(fā)生了定時器事件
WM_HSCROLL = 276;
當(dāng)一個窗口標(biāo)準(zhǔn)水平滾動條產(chǎn)生一個滾動事件時發(fā)送此消息給那個窗口,也發(fā)送給擁有它的控件
WM_VSCROLL = 277;
當(dāng)一個窗口標(biāo)準(zhǔn)垂直滾動條產(chǎn)生一個滾動事件時發(fā)送此消息給那個窗口也,發(fā)送給擁有它的控件 WM_INITMENU = 278;
當(dāng)一個菜單將要被激活時發(fā)送此消息,它發(fā)生在用戶菜單條中的某項或按下某個菜單鍵,它允許程序在顯示前更改菜單
WM_INITMENUPOPUP = 279;
當(dāng)一個下拉菜單或子菜單將要被激活時發(fā)送此消息,它允許程序在它顯示前更改菜單,而不要改變?nèi)?
WM_MENUSELECT = 287;
當(dāng)用戶選擇一條菜單項時發(fā)送此消息給菜單的所有者(一般是窗口)
WM_MENUCHAR = 288;
當(dāng)菜單已被激活用戶按下了某個鍵(不同于加速鍵),發(fā)送此消息給菜單的所有者;
WM_ENTERIDLE = 289;
當(dāng)一個模態(tài)對話框或菜單進入空載狀態(tài)時發(fā)送此消息給它的所有者,一個模態(tài)對話框或菜單進入空載狀態(tài)就是在處理完一條或幾條先前的消息后沒有消息它的列隊中等待
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ā)送此消息給消息框的所有者窗口,通過響應(yīng)這條消息,所有者窗口可以通過使用給定的相關(guān)顯示設(shè)備的句柄來設(shè)置消息框的文本和背景顏色
WM_CTLCOLOREDIT = 307;
當(dāng)一個編輯型控件將要被繪制時發(fā)送此消息給它的父窗口;通過響應(yīng)這條消息,所有者窗口可以通過使用給定的相關(guān)顯示設(shè)備的句柄來設(shè)置編輯框的文本和背景顏色
WM_CTLCOLORLISTBOX = 308;
當(dāng)一個列表框控件將要被繪制前發(fā)送此消息給它的父窗口;通過響應(yīng)這條消息,所有者窗口可以通過使用給定的相關(guān)顯示設(shè)備的句柄來設(shè)置列表框的文本和背景顏色
WM_CTLCOLORBTN = 309;
當(dāng)一個按鈕控件將要被繪制時發(fā)送此消息給它的父窗口;通過響應(yīng)這條消息,所有者窗口可以通過使用給定的相關(guān)顯示設(shè)備的句柄來設(shè)置按紐的文本和背景顏色
WM_CTLCOLORDLG = 310;
當(dāng)一個對話框控件將要被繪制前發(fā)送此消息給它的父窗口;通過響應(yīng)這條消息,所有者窗口可以通過使用給定的相關(guān)顯示設(shè)備的句柄來設(shè)置對話框的文本背景顏色
WM_CTLCOLORSCROLLBAR= 311;
當(dāng)一個滾動條控件將要被繪制時發(fā)送此消息給它的父窗口;通過響應(yīng)這條消息,所有者窗口可以通過使用給定的相關(guān)顯示設(shè)備的句柄來設(shè)置滾動條的背景顏色
WM_CTLCOLORSTATIC = 312;
當(dāng)一個靜態(tài)控件將要被繪制時發(fā)送此消息給它的父窗口;通過響應(yīng)這條消息,所有者窗口可以通過使用給定的相關(guān)顯示設(shè)備的句柄來設(shè)置靜態(tài)控件的文本和背景顏色
WM_MOUSEFIRST = 512;
WM_MOUSEMOVE = 512;
// 移動鼠標(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)動時發(fā)送此消息個當(dāng)前有焦點的控件
WM_MOUSELAST = 522;
WM_PARENTNOTIFY = 528;
當(dāng)MDI子窗口被創(chuàng)建或被銷毀,或用戶按了一下鼠標(biāo)鍵而光標(biāo)在子窗口上時發(fā)送此消息給它的父窗口
WM_ENTERMENULOOP = 529;
發(fā)送此消息通知應(yīng)用程序的主窗口that已經(jīng)進入了菜單循環(huán)模式
WM_EXITMENULOOP = 530;
發(fā)送此消息通知應(yīng)用程序的主窗口that已退出了菜單循環(huán)模式
WM_NEXTMENU = 531;
WM_SIZING = 532;
當(dāng)用戶正在調(diào)整窗口大小時發(fā)送此消息給窗口;通過此消息應(yīng)用程序可以監(jiān)視窗口大小和位置也可以修改他們
WM_CAPTURECHANGED = 533;
發(fā)送此消息 給窗口當(dāng)它失去捕獲的鼠標(biāo)時;
WM_MOVING = 534;
當(dāng)用戶在移動窗口時發(fā)送此消息,通過此消息應(yīng)用程序可以監(jiān)視窗口大小和位置也可以修改他們;
WM_POWERBROADCAST = 536;
此消息發(fā)送給應(yīng)用程序來通知它有關(guān)電源管理事件;
WM_DEVICECHANGE = 537;
當(dāng)設(shè)備的硬件配置改變時發(fā)送此消息給應(yīng)用程序或設(shè)備驅(qū)動程序
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ā)送此消息給多文檔的客戶窗口來創(chuàng)建一個MDI 子窗口
WM_MDIDESTROY = 545;
應(yīng)用程序發(fā)送此消息給多文檔的客戶窗口來關(guān)閉一個MDI 子窗口
WM_MDIACTIVATE = 546;
應(yīng)用程序發(fā)送此消息給多文檔的客戶窗口通知客戶窗口激活另一個MDI子窗口,當(dāng)客戶窗口收到此消息后,它發(fā)出WM_MDIACTIVE消息給MDI子窗口(未激活)激活它;
WM_MDIRESTORE = 547;
程序 發(fā)送此消息給MDI客戶窗口讓子窗口從最大最小化恢復(fù)到原來大小
WM_MDINEXT = 548;
程序 發(fā)送此消息給MDI客戶窗口激活下一個或前一個窗口
WM_MDIMAXIMIZE = 549;
程序發(fā)送此消息給MDI客戶窗口來最大化一個MDI子窗口;
WM_MDITILE = 550;
程序 發(fā)送此消息給MDI客戶窗口以平鋪方式重新排列所有MDI子窗口
WM_MDICASCADE = 551;
程序 發(fā)送此消息給MDI客戶窗口以層疊方式重新排列所有MDI子窗口
WM_MDIICONARRANGE = 552;
程序 發(fā)送此消息給MDI客戶窗口重新排列所有最小化的MDI子窗口
WM_MDIGETACTIVE = 553;
程序 發(fā)送此消息給MDI客戶窗口來找到激活的子窗口的句柄
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ā)送此消息給一個編輯框或combobox來刪除當(dāng)前選擇的文本
WM_COPY = 769;
程序發(fā)送此消息給一個編輯框或combobox來復(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ù)時 發(fā)送此消息給剪貼板的所有者
WM_DRAWCLIPBOARD = 776;
當(dāng)剪貼板的內(nèi)容變化時發(fā)送此消息給剪貼板觀察鏈的第一個窗口;它允許用剪貼板觀察窗口來
顯示剪貼板的新內(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)改變是此消息通過剪貼板觀察窗口發(fā)送給剪貼板的所有者;
WM_ASKCBFORMATNAME = 780;
通過剪貼板觀察窗口發(fā)送此消息給剪貼板的所有者來請求一個CF_OWNERDISPLAY格式的剪貼板的名字
WM_CHANGECBCHAIN = 781;
當(dāng)一個窗口從剪貼板觀察鏈中移去時發(fā)送此消息給剪貼板觀察鏈的第一個窗口;
WM_HSCROLLCLIPBOARD = 782;
此消息通過一個剪貼板觀察窗口發(fā)送給剪貼板的所有者 ;它發(fā)生在當(dāng)剪貼板包含CFOWNERDISPALY格式的數(shù)據(jù)并且有個事件在剪貼板觀察窗的水平滾動條上;所有者應(yīng)滾動剪貼板圖象并更新滾動條的值;
WM_QUERYNEWPALETTE = 783;
此消息發(fā)送給將要收到焦點的窗口,此消息能使窗口在收到焦點時同時有機會實現(xiàn)他的邏輯調(diào)色板
WM_PALETTEISCHANGING= 784;
當(dāng)一個應(yīng)用程序正要實現(xiàn)它的邏輯調(diào)色板時發(fā)此消息通知所有的應(yīng)用程序
WM_PALETTECHANGED = 785;
此消息在一個擁有焦點的窗口實現(xiàn)它的邏輯調(diào)色板后發(fā)送此消息給所有頂級并重疊的窗口,以此來改變系統(tǒng)調(diào)色板
WM_HOTKEY = 786;
當(dāng)用戶按下由REGISTERHOTKEY函數(shù)注冊的熱鍵時提交此消息
WM_PRINT = 791;
應(yīng)用程序發(fā)送此消息僅當(dāng)WINDOWS或其它應(yīng)用程序發(fā)出一個請求要求繪制一個應(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;
一個DDE客戶程序提交此消息開始一個與服務(wù)器程序的會話來響應(yīng)那個指定的程序和主題名;
WM_DDE_TERMINATE = WM_DDE_FIRST + 1;
一個DDE應(yīng)用程序(無論是客戶還是服務(wù)器)提交此消息來終止一個會話;
WM_DDE_ADVISE = WM_DDE_FIRST + 2;
一個DDE客戶程序提交此消息給一個DDE服務(wù)程序來請求服務(wù)器每當(dāng)數(shù)據(jù)項改變時更新它
WM_DDE_UNADVISE = WM_DDE_FIRST + 3;
一個DDE客戶程序通過此消息通知一個DDE服務(wù)程序不更新指定的項或一個特殊的剪貼板格式的項
WM_DDE_ACK = WM_DDE_FIRST + 4;
此消息通知一個DDE(動態(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;
一個DDE服務(wù)程序提交此消息給DDE客戶程序來傳遞個一數(shù)據(jù)項給客戶或通知客戶的一條可用數(shù)據(jù)項
WM_DDE_REQUEST = WM_DDE_FIRST + 6;
一個DDE客戶程序提交此消息給一個DDE服務(wù)程序來請求一個數(shù)據(jù)項的值;
WM_DDE_POKE = WM_DDE_FIRST + 7;
一個DDE客戶程序提交此消息給一個DDE服務(wù)程序,客戶使用此消息來請求服務(wù)器接收一個未經(jīng)同意的數(shù)據(jù)項;服務(wù)器通過答復(fù)WM_DDE_ACK消息提示是否它接收這個數(shù)據(jù)項;
WM_DDE_EXECUTE = WM_DDE_FIRST + 8;
一個DDE客戶程序提交此消息給一個DDE服務(wù)程序來發(fā)送一個字符串給服務(wù)器讓它象串行命令一樣被處理,服務(wù)器通過提交WM_DDE_ACK消息來作回應(yīng);
WM_DDE_LAST = WM_DDE_FIRST + 8;
WM_APP = 32768;
WM_USER = 1024;
此消息能幫助應(yīng)用程序自定義私有消息;
通知消息(Notification message)是指這樣一種消息,一個窗口內(nèi)的子控件發(fā)生了一些事情,需要通知父窗口。通知消息只適用于標(biāo)準(zhǔn)的窗口控件如按鈕、列表框、組合框、編輯 框,以及Windows 95公共控件如樹狀視圖、列表視圖等。例如,單擊或雙擊一個控件、在控件中選擇部分文本、操作控件的滾動條都會產(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 C L 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 T E加亮應(yīng)當(dāng)去掉
組合框
C B N _ C L O S E U P組合框的列表框被關(guān)閉
C B N _ D B L C L K用戶雙擊了一個字符串
C B N _ D R O P D O W N組合框的列表框被拉出
C B N _ E D I T C H A N G E用戶修改了編輯框中的文本
C B N _ E D I T U P D AT E編輯框內(nèi)的文本即將更新
C B N _ E R R S PA C E組合框內(nèi)存不足
C B N _ K I L L F O C U S組合框失去輸入焦點
C B N _ S E L C H A N G E在組合框中選擇了一項
C B N _ S E L E N D C A N C E L用戶的選擇應(yīng)當(dāng)被取消
C B N _ S E L E N D O K用戶的選擇是合法的
C B N _ S E T F O C U S組合框獲得輸入焦點
編輯框
E N _ C H A N G E編輯框中的文本己更新
E N _ E R R S PA C E編輯框內(nèi)存不足
E N _ H S C R O L L用戶點擊了水平滾動條
E N _ K I L L F O C U S編輯框正在失去輸入焦點
E N _ M A X T E X T插入的內(nèi)容被截斷
E N _ S E T F O C U S編輯框獲得輸入焦點
E N _ U P D AT E編輯框中的文本將要更新
E N _ V S C R O L L用戶點擊了垂直滾動條消息含義
列表框
L B N _ D B L C L K用戶雙擊了一項
L B N _ E R R S PA C E列表框內(nèi)存不夠
L B N _ K I L L F O C U S列表框正在失去輸入焦點
L B N _ S E L C A N C E L選擇被取消
L B N _ S E L C H A N G E選擇了另一項
L B N _ S E T F O C U S列表框獲得輸入焦點