WM_CREATE 窗口过程收到的第一条信息
WM_COMMAND 菜单按下
WM_DESTROY 正在销毁窗口
WM_KEYDOWN lParam含义为虚拟键码“A”(0X41) wparm (这个对)包含按下键的ASCII码 键盘按下产生消息
WM_KEYUP lParam含义为虚拟键码“A”(0X41) wparam 包含按下键的ASCII码 按下后放开才产生消息
WM_SYSKEYDOWN lParam键盘放开
WM_CHAR lParam含义为 ANST码“a”(0X61) wparam 包含按下键的ASCII码
WM_TIMER 定时器消息
WM_PAINT 重绘消息
WM_QUIT 退出消息
按键产生的字符消息 WM_CHAR
当用户按下一个键时,Windows将 WM_KEYDOWN或WM_SYSKEYDWN 消息放入! 当该键被释放时,Windows把WM_KEYUP或WM_SYSKEYUP消息放入!
非系统键击 WM_KEYDOWN WM_KEYUP
系统键击 WM_SYSKEYDWN WM_SYSKEYUP
鼠标消息
按下 弹起 双击
左键 WM_LBUTTONDOWN WM_LBUTTONUP WM_LBUTTONDBLCLK
中键 WM_MBUTTONDOWN WM_MBUTTONUP WM_MBUTTONDBLCLK
右键 WM_RBUTTONDOWN WM_RBUYYONUP WM_RBUTTONDBLCLK
WM_MOUSEMOVE 鼠标移动
发送这些消息时,lParam参数包含了鼠标的位置坐标,可以这样读出坐标信息。
xPos=
LOWORD(lParam)
yPos=
HIWORD(lParam)
这些坐标都是以客户区的左上角为原点,向右是X轴正方向,向下是Y轴正方向。
ClientToScreen函数可以把坐标转换为以屏幕的左上角为原点的坐标。
BOOL ClientToScreen(HWND hWnd,LPPOINT lpPoint);
BOOL ScreenToClient(HWND hWnd,LPPOINT lpPoint);
同样 ScreenToClient函数又可以把坐标转行回来。
lpPoint参数指向POINT结构的指针,把要转化的坐标信息写入lpPoint参数指向的内存,Windows把转化后的结果也返回到这块内存中。
wParam 参数包含鼠标按钮的状态
MK_LBUTTON 左键按下
MK_MBUTTON 中键按下
MK_RBUTTON 右键按下
按下鼠标左键:WM_LBUTTONDOWN
拖动鼠标移动:WM_MOUSEMOVE
放开鼠标左键:WM_LBUTTONUP
MK_SHIFT <Shift>
键按下
MK_CONTROL <Ctrl>
键按下
例如,收到 WM_LBUTTONDOWN消息时,如果wParam&MK_SHIFT的值为TRUE,就会知道当单击左键时, <Shift>
键也被按下了!
WM_SIZE 窗口尺寸改变 lParam 存放窗口大小 低位字段是 宽度 高位是高度 LOWORD HIWORD
WM_MOVE 窗口移动时
///
滚动条
WM_VSCROLL 垂直滚动条
WM_HSCROLL 水平滚动条
SB_ENDSCROLL 鼠标点击滚动条移动到位置后在放开就会发出这个消息
SB_LINEDOWN 滚动条向下移动一行
SB_LINEUP 滚动条向上移动一行
SB_PAGEDOWN 滚动条向下翻一页
case SB_PAGEUP 滚动条向上翻一页
将鼠标放在滑块上然后按下鼠标时,可以移动滑块,这将会产生SB_THUMBTRACK和SB_THUMBPOSITION消息当wParam低位字段是SB_THUMBTRACK时,wParam的高位字是用户拖动滑块的当前位置。这个位置处于滚动条范围的最小值和最大值之间。当wParam的低位字是SB_THUMBPOSITION时wParam的高位字是用户松开鼠标键时滑块的最终位置。对于其他滚动条动作,wParam的高位字应该被忽略。 高低 HIWORD LOWORD
1 VK_LBUTTON 鼠标左键
2 VK_RBUTTON 鼠标右键
3 VK_CANCEL Ctrl+
Break(通常不需要处理)
4 VK_MBUTTON 鼠标中键
8 VK_BACK Backspace
9 VK_TAB Tab
12 VK_CLEAR Num Lock关闭时的数字键盘5
13 VK_RETURN Enter(或者另一个)
16 VK_SHIFT Shift(或者另一个)
17 VK_CONTROL Ctrl(或者另一个)
18 VK_MENU Alt(或者另一个)
19 VK_PAUSE Pause
20 VK_CAPITAL Caps Lock
27 VK_ESCAPE Esc
32 VK_SPACE Spacebar
33 VK_PRIOR Page Up
34 VK_NEXT Page Down
35 VK_END End
36 VK_HOME Home
37 VK_LEFT 左箭头
38 VK_UP 上箭头
39 VK_RIGHT 右箭头
40 VK_DOWN 下箭头
41 VK_SELECT 可选
42 VK_PRINT 可选
43 VK_EXECUTE 可选
44 VK_SNAPSHOT Print Screen
45 VK_INSERT Insert
46 VK_DELETE Delete
47 VK_HELP 可选
48~
57 主键盘上的0~
9
48 48 主键盘上的0
49 49 主键盘上的1
50 50 主键盘上的2
51 51 主键盘上的3
52 52 主键盘上的4
53 53 主键盘上的5
54 54 主键盘上的6
55 55 主键盘上的7
56 56 主键盘上的8
57 57 主键盘上的9
65~
90 A~
Z
65 A
66 B
67 C
68 D
69 E
70 F
71 G
72 H
73 I
74 J
75 K
76 L
77 M
78 N
79 O
80 P
81 Q
82 R
83 S
84 T
85 U
86 V
87 W
88 X
89 Y
90 Z
91 VK_LWIN 左Windows键
92 VK_RWIN 右Windows键
93 VK_APPS Applications键
96~
105 VK_NUMPAD0~VK_NUMPAD9 Num Lock打开时数字键盘上的0~
9
106 VK_NULTIPLY 数字键盘上的*
107 VK_ADD 数字键盘上的+
108 VK_SEPARATOR 可选
109 VK_SUBTRACT 数字键盘上的-
110 VK_DECIMAL 数字键盘上的.
111 VK_DIVIDE 数字键盘上的/
112~
135 VK_F1~VK_F24 功能键F1~
F24
144 VK_NUMLOCK Num Lock
145 VK_SCROLL Scroll Lock
转载于:https://www.cnblogs.com/IMyLife/p/4826033.html
相关资源:VC 对话框程序的键盘消息响应与快捷键的实现