• 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

  • 相关阅读:
    观察者模式
    系统高并发网络图书室
    java keytool
    ant 脚本使用技巧
    Unsupported major.minor version 51.0 错误解决方案
    Oracle的网络监听配置
    win8 JDK环境变量不生效
    javax.mail
    xmlrpc
    网络时间同步
  • 原文地址:https://www.cnblogs.com/neking/p/2537000.html
Copyright © 2020-2023  润新知