• 按键消息响应


    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
  • 相关阅读:
    SQL优化值-exists
    Oracle执行计划详细讲解
    SpringBoot配置加解密工具之Jasypt
    升级Spring Boot 2.0后RelaxedPropertyResolver不可用的解决方案
    Spring, SpringBoot之占位符源码解析
    springboot启动原理深度解析
    Java SPI技术深度解读
    [VCSA7]添加共享磁盘
    [VCSA7]MacOS部署VCSA7
    [Oracle]查看数据库磁盘空间
  • 原文地址:https://www.cnblogs.com/IMyLife/p/4826033.html
Copyright © 2020-2023  润新知