Windows系統消息大全使用詳細介紹
發表于:2007-07-13來源:作者:點擊數:
標簽:
消息,就是指 Windows 發出的一個通知,告訴應用程序某個事情發生了。例如,單擊鼠標、改變窗口尺寸、按下鍵盤上的一個鍵都會使Windows發送一個消息給應用程序。消息本身是作為一個記錄傳遞給應用程序的,這個記錄中包含了消息的類型以及其他信息。例如,對
消息,就是指
Windows發出的一個通知,告訴應用程序某個事情發生了。例如,單擊鼠標、改變窗口尺寸、按下鍵盤上的一個鍵都會使Windows發送一個消息給應用程序。消息本身是作為一個記錄傳遞給應用程序的,這個記錄中包含了消息的類型以及其他信息。例如,對于單擊鼠標所產生的消息來說,這個記錄中包含了單擊鼠標時的坐標。這個記錄類型叫做TMsg,
它在Windows單元中是這樣聲明的:
type
TMsg = packed record
hwnd: HWND; / /窗口句柄
message: UINT; / /消息常量標識符
wParam: WPARAM ; // 32位消息的特定附加信息
lParam: LPARAM ; // 32位消息的特定附加信息
time: DWORD; / /消息創建時的時間
pt: TPoint; / /消息創建時的鼠標位置
end;
消息中有什么? 是否覺得一個消息記錄中的信息像希臘語一樣?如果是這樣,那么看一看下面的解釋:
hwnd 32位的窗口句柄。窗口可以是任何類型的屏幕對象,因為Win32能夠維護大多數可視對象的句柄(窗口、對話框、按鈕、編輯框等)。
message 用于區別其他消息的常量值,這些常量可以是Windows單元中預定義的常量,也可以是自定義的常量。
wParam 通常是一個與消息有關的常量值,也可能是窗口或控件的句柄。
lParam 通常是一個指向內存中數據的指針。由于W P a r a m、l P a r a m和P o i n t e r都是3 2位的,
因此,它們之間可以相互轉換。
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;
改變enable狀態
WM_SETREDRAW = $000B;
設置窗口是否能重畫
WM_SETTEXT = $000C;
應用程序發送此消息來設置一個窗口的文本
WM_GETTEXT = $000D;
應用程序發送此消息來復制對應窗口的文本到緩沖區
WM_GETTEXTLENGTH = $000E;
得到與一個窗口有關的文本的長度(不包含空字符)
WM_PAINT = $000F;
要求一個窗口重畫自己
WM_CLOSE = $0010;
當一個窗口或應用程序要關閉時發送一個信號
WM_QUERYENDSESSION = $0011;
當用戶選擇結束對話框或程序自己調用ExitWindows函數
WM_QUIT = $0012;
用來結束程序運行或當程序調用postquitmessage函數
WM_QUERYOPEN = $0013;
當用戶窗口恢復以前的大小位置時,把此消息發送給某個圖標
WM_ERASEBKGND = $0014;
當窗口背景必須被擦除時(例在窗口改變大小時)
WM_SYSCOLORCHANGE = $0015;
當系統顏色改變時,發送此消息給所有頂級窗口
WM_ENDSESSION = $0016;
當系統進程發出WM_QUERYENDSESSION消息后,此消息發送給應用程序,
通知它對話是否結束
WM_SYSTEMERROR = $0017;
WM_SHOWWINDOW = $0018;
原文轉自:http://www.kjueaiud.com