轉載地址:http://www.cnblogs.com/magic-cube/archive/2011/04/27/2029913.html
首先看看定義:
1
2
3
4
|
typedef unsigned int UINT ; typedef UINT WPARAM ; //就是無符號整形 typedef long LONG ; typedef LONG LPARAM ; //就是長整形 |
這就是所謂的wparam和lparam,從定義我們可以看出lparam比wparam要長,所以習慣上都用wparam來存儲消息類型,而用lparam來存儲要傳遞的參數,當然它的類型隨着消息的不同而變化:如發送一個WM_LBUTTONDOWN消息,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
SendMessage針對鼠標消息中wParam和lParam參數 SendMessage(Hwnd,
WM_LBUTTONDOWN, wparam, lparam); SendMessage(Hwnd,
WM_LBUTTONUP, wparam, lparam); wParam //消息類型 MK_CONTROL
Set if the
ctrl key is down. MK_LBUTTON
Set if the
left mouse button is down. MK_MBUTTON
Set if the
middle mouse button is down. MK_RBUTTON
Set if the
right mouse button is down. MK_SHIFT
Set if the
shift key is down. lParam //傳遞參數 xPos
= LOWORD(lParam); //horizontal
position of cursor yPos
= HIWORD(lParam); //vertical
position of cursor |