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

  • 相关阅读:
    JVM与Dalvik
    3G技术
    Android开发环境的搭建
    Android学习杂记
    JDK环境变量配置
    签名Android应用程序
    Android中Hardcoding String ……,should use @string/警告的处理
    命令行创建Android项目
    ElasticSearch为什么这么快
    多线程1--基础知识
  • 原文地址:https://www.cnblogs.com/neking/p/2537000.html
Copyright © 2011-2022 走看看