不要以為下面的東西隻有C++中才會用到哦!
消息,就是指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 通常是一個指向記憶體中資料的指針。由于WParam、lParam和Pointer都是32位的,是以,它們之間可以互相轉換。