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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sqlserver中exec/sp_executesql的使用

    sqlserver中exec/sp_executesql的使用–动态语句语法/******************************************************************************************************************************************************动态语句语法:exec/sp_executesql语法整理人:中国风(Roy

    2022年5月21日
  • 让引擎不再是你的唯一,对百度再见

    让引擎不再是你的唯一,对百度再见

    2022年1月12日
  • Ubuntu16.04安装ros_nodejs安装教程

    Ubuntu16.04安装ros_nodejs安装教程Ubuntu16.04安装ROS详解1、设置sources.list2、设置key3、更新package4、安装ROSkinetic完整版5、初始化rosdep6、配置ROS环境7、安装依赖项8、测试ROS是否安装成功1、设置sources.listsudosh-c’echo"debhttp://packages.ros.org/ros/ubuntu$(lsb_release-…

    2022年9月3日
  • 队列数据结构的典型应用_kafka优先级队列

    队列数据结构的典型应用_kafka优先级队列上一篇文章讲解了队列的相关知识,同时用代码实现了一个队列结构。那么本文将介绍一下另一种特殊的队列结构,叫做优先级队列。上一篇文章的跳转链接——公众号:Lpyexplore的编程小屋关注我,每天更新,带你在python爬虫的过程中学习前端,还有更多电子书和面试题等你来拿数据结构——优先级队列一、什么是优先级队列一、什么是优先级队列在了解了什么是队列以后,我们再来了解优先级队列,顾名思义,优先级队列就是在队列的基础上给每个元素加上了先后顺序,我们仍然拿排队买票的例子来讲解。…

    2022年9月24日
  • 安装PyTorch详细过程

    安装PyTorch详细过程安装PyTorch过程安装anaconda环境管理PyTorch安装检验安装安装anaconda登录anaconda的官网下载,anaconda是一个集成的工具软件不需要我们再次下载。anaconda官网点击下载跳转到这个页面如果你的Python版本正好是3.8版,那便可以直接根据系统去选择自己相应的下载版本就可以了。但是如果你的Python版本号不是当前页面的版本号,那我建议你去选择相对应的版本号。点击archive你就会跳转到下面的页面你可以访问这篇博客去找到当前与你python版本号相对

    2022年6月23日
  • 新出台的治理iMessage垃圾短信的规则

    新出台的治理iMessage垃圾短信的规则

    2022年1月21日

发表回复

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

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