zoukankan      html  css  js  c++  java
  • Windows程序设计笔记(5)

    击键消息
    WM_KEYDOWN WM_KEYUP通常是不带Alt键产生的消息,wparam是虚拟键代码(在winuser.h中定义的VK_的常量),lparam包含属于击键的其他数据
    lParam的32位分为6个域:

    31:转换状态    正被释放为0 否则为1
    30:键的先前状态 释放为0 否则为1
    29:环境代码 在Alt按下后或WM_SYSKEYUP,WM_SYSKEYDOWN消息时为1. 2个例外, 1)活动窗口最小化,即无输入焦点,值为0, 2)特殊键盘消息
    24:扩展键标志
    23-16: 8位OEM扫描码
    15-00: 16位重复计数(击键次数)

    GetKeyState(VK_SHIFT) 返回值为负则按下了Shift键
    GetKeyState(VK_CAPITAL) 返回值与键盘上的小灯保持一致  按下灯亮为正值 否则为负值

    字符消息:
    在windows消息循环中的TranslateMessage(&msg)函数将击键消息转换为字符消息,如果是字符则将消息放入消息队列,成为GetMessage从消息队列中得到的下一个消息
    4类-WM_CHAR WM_DEADCHAR 从WM_KEYDOWN中得到, WM_SYSCHAR WM_SYSDEADCHAR从WM_SYSKENDOWN中得到
    IsWindowUnicode(hwnd) 判断窗口是否由RegisterClassW注册的窗口类

    死字符消息:用于处理特殊语言的键盘 例如德语键盘

    插入符: 在WM_SETFOCUS期间CreateCaret 之后要ShowCaret, WM_KILLFOCUS期间DestroyCaret
    CreateCaret
    SetCaretPos
    ShowCaret
    HideCaret
    DestroyCaret
    非WM_PAINT消息时应HideCaret,在处理完消息后返回前再ShowCaret

  • 相关阅读:
    一分钟教你解决前端分流问题
    win7 mysql 数据库轻松实现数据库定时备份
    mysql 修改密码
    what is yaml ?
    php实现监控在线服务应用程序小栗子
    Python装饰器小代码
    2,构造代码块
    1,匿名对象,封装
    7,random
    测试错题
  • 原文地址:https://www.cnblogs.com/neking/p/2537000.html
Copyright © 2011-2022 走看看