TranslateMessage DispatchMessage

TranslateMessage DispatchMessageTranslateMessage函数函数功能描述:将虚拟键消息转换为字符消息。字符消息被送到调用线程的消息队列中,在下一次线程调用函数GetMessage或PeekMessage时被读出。.函数原型:   BOOLTranslateMessage( CONSTMSG*lpMsg);.参数:   lpMsg        指向一个含有用GetMes

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

TranslateMessage函数

函数功能描述:将虚拟键消息转换为字符消息。字符消息被送到调用线程的消息队列中,在下一次线程调用函数GetMessage或PeekMessage时被读出。

.
函数原型:
    BOOL TranslateMessage(  CONST MSG *lpMsg );
.
参数:
    lpMsg 
        指向一个含有用GetMessage或PeekMessage函数从调用线程的消息队列中取得消息信息的MSG结构的指针。
.
返回值:
    如果消息被转换(即,字符消息被送到线程的消息队列中),返回非零值。
    如果消息是 WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, 或 WM_SYSKEYUP,返回非零值,不考虑转换。
    如果消息没有转换(即,字符消息没被送到线程的消息队列中),返回值是零。
.
备注:
    TranslateMessage函数不修改由参数lpMsg指向的消息。
    消息WM_KEYDOWN和WM_KEYUP组合产生一个WM_CHAR或WM_DEADCHAR消息。消息WM_SYSKEYDOWN和WM_SYSKEYUP组合产生一个WM_SYSCHAR或 WM_SYSDEADCHAR 消息。
    TtanslateMessage仅为那些由键盘驱动器映射为ASCII字符的键产生WM_CHAR消息。
    如果应用程序为其它用途而处理虚拟键消息,不应调用TranslateMessage函数。例如,如果TranslateAccelerator函数返回一个非零值,则应用程序将不调用TranslateMessage函数。
    Windows CE:Windows CE不支持扫描码或扩展键标志,因此,它不支持由TranslateMessage函数产生的WM_CHAR消息中的lKeyData参数(lParam)16-24的取值。
    TranslateMessage函数只能用于转换由GetMessage或PeekMessage函数接收到的消息。
 

 

DispatchMessage函数

函数功能:该函数调度一个消息给窗口程序。通常调度从GetMessage取得的消息。消息被调度到的窗口程序即是MainProc()函数。

  函数原型:LONG DispatchMessage(CONST MSG*lpmsg);

  参数:

  lpmsg:指向含有消息的MSG结构的指针。

  返回值:返回值是窗口程序返回的值。尽管返回值的含义依赖于被调度的消息,但返回值通常被忽略。

  备注:MSG结构必须包含有效的消息值。如果参数lpmsg指向一个WM_TIMER消息,并且WM_TIMER消息的参数IParam不为NULL,则调用IPa1ram指向的函数,而不是调用窗口程序。

  速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib;Unicode:在Windows NT环境下以Unicode和ANSI方式实现。

 

总结:TranslateMessage函数将键盘消息转化,DispatchMessage函数将消息传给窗体函数去处理.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213940.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dfs是什么意思_bmob分页查询

    dfs是什么意思_bmob分页查询给定 n 个正整数,将它们分组,使得每组中任意两个数互质。至少要分成多少个组?输入格式第一行是一个正整数 n。第二行是 n 个不大于10000的正整数。输出格式一个正整数,即最少需要的组数。数据范围1≤n≤10输入样例:614 20 33 117 143 175输出样例:3#include<bits/stdc++.h>using namespace std;const int N = 1e2 + 10;int a[N],g[N][N];int n;int

    2022年8月8日
    0
  • 转换Cifar10数据集

    转换Cifar10数据集Cifar10数据集不讲了吧,入门必备,下载地址:https://www.cs.toronto.edu/~kriz/cifar.html官方提供三种形式的下载:可以看出是不提供图片形式的下载的,需要进行数据转换,虽然可以直接读成ndarray,但是对于初学者可能读图更直观点自己写了个转换程序(将bytes形式的文件转换为图片并分类存储):defrecover_cifar10(cifar10_

    2022年6月22日
    33
  • JS Date日期排序

    JS Date日期排序JSDate日期排序

    2022年7月14日
    23
  • dex文件详解

    dex文件详解1、基本概念能被DVM虚拟机识别,加载并执行的文件格式2、生成dex文件1、通过IDE自动帮我们build生成2、手动通过dx命令去生成dex文件3、在手机上手动运行dex文件3、使用dx命令来生成dex文件首先得要先配置dx环境变量,这个环境变量怎么配呢?找到的sdk的安装目录,然后进入build-tools目录,这里是你电脑上的所有sdk的安装目录,随便选择一个进去,就可以知道dx.b

    2022年6月27日
    59
  • setAttribute改变属性,动态改变类

    setAttribute改变属性,动态改变类

    2022年2月22日
    42
  • 面试之springboot自动配置原理「建议收藏」

    面试之springboot自动配置原理「建议收藏」自动配置首先从注解说起。@SpringBootApplication由三个注解组成:@CompanentScan,@EnableAutoConfiguration,@SpringBootConfiguration(其实就是@Configuration注解),其中@EnableAutoConfiguration通过@Import注解将AutoConfigurationImportSelector.class这个类引进来。该类会去加载所有jar包的META-INFO下面的spring-……

    2022年8月21日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号