TranslateMessage和DispatchMessage作用[通俗易懂]

TranslateMessage和DispatchMessage作用[通俗易懂]PostMessage是将消息放入到窗体的消息队列中,窗体过程需要等待一段时间,以便从队列中取出了消息之后,才处理消息SendMessage不将消息放入消息队列,而只是把直接让窗体过程处理这个消息,所以消息一般能立刻响应。TranslateMessage函数是将消息转化成某一个,或更多的消息,比如,当消息循环接收一个WM_KEYDOWN消息时,如果用户按下了字母键,那么Translat

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

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
PostMessage是将消息放入到窗体的消息队列中,窗体过程需要等待一段时间,以便从队列中取出了消息之后,才处理消息


SendMessage不将消息放入消息队列,而只是把直接让窗体过程处理这个消息,所以消息一般能立刻响应。




TranslateMessage函数是将消息转化成某一个,或更多的消息,比如,当消息循环接收一个WM_KEYDOWN消息时,如果用户按下了字母键,那么TranslateMessage会产生一个WM_CHAR消息,让它跟在WM_KEYDOWN之后放入到消息队列中。




DispatchMessage函数用意是将消息交给操作系统来处理,之后操作系统会根据情况来调用窗体过程来处理消息。


Window窗体中的消息驱动实际上不是一种异步模式,而是同步模式,也就是说只有当DispatchMessage分发的消息被窗体过程处理了之后,才会回到消息循环中的GetMessage函数。

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

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

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


相关推荐

  • 语音信号处理领域国内外高手homepage分享(一)

    语音信号处理领域国内外高手homepage分享(一)详细内容见群文件,欢迎大家加入音频/识别/合成算法群(696554058)交流学习,谢谢!本内容原创,转载和使用请注明出处,谢谢配合;Zheng-HuaTan的主页:http://kom.aau.dk/~zt/index.htm#Research%20interests(谭政华博士曾经是美国麻省理工学院(MIT)计算机科学与人工智能实验室(CSAIL)的客座科学家/教授,…

    2022年5月25日
  • QThread 的使用「建议收藏」

    QThread 的使用「建议收藏」文章目录1.引言2.QThread文档3.QThread::run和QObject::connect4.QObject::moveToThread()5.使用场景对于子类化Thread的方式对于workermovetothread的方式1.引言你会用QThread吗?有几种使用方式?这几种使用方式都在何种场景下使用?有什么需要注意的地方吗?2.QThr…

    2022年5月28日
  • pycharm安装包时的那些事

    pycharm安装包时的那些事1.查找是否有.condarc文件.condarc以点开头,一般表示conda应用程序的配置文件,在用户的家目录windows:C:\users\username\linux:/home/username/问题一:无法找到condarc文件#创建condarc文件condaconfig–addchannelsr2.设置清华源#注意是http,不是https,以下是在命令行的代码,也可以直接在.condarc文件中修改condaconfig–add

    2022年5月17日
  • VM虚拟机桥接模式无法联网解决办法

    VM虚拟机桥接模式无法联网解决办法1.背景介绍:桥接模式—-使虚拟机客户机可以和主机在同一网段,这样,和主机同局域网内的其他主机就也可以ping到虚拟机了;因此,虚拟机设置为桥接模式,且设为静态IP,这样以后就可以方便的使用虚拟机了;2.问题描述:桥接模式之前是好用的,但是主机有一天突然宕机了,重启之后,打开虚拟机,发现主机和虚拟机客户机相互之间ping不通;测试:a.将虚拟机IP获取方式改为自

    2022年5月6日
  • js判断字符串_js中判断字符串包含另一个字符串

    js判断字符串_js中判断字符串包含另一个字符串1.string.search()返回值:匹配成功的第一个字符的下标,未匹配则返回-1用法:string.search(searchValue)举个例子:letsearchVal=’yyds’letsearchResult=searchVal.search(‘y’)console.log(searchResult)//03.string.includes()返回值:Boolean用法:string.includes(searchValue,start)

    2022年10月7日
  • CAS算法的理解及应用「建议收藏」

    CAS算法的理解及应用「建议收藏」应用原子操作类,例如AtomicInteger,AtomicBoolean …适用于并发量较小,多cpu情况下;Java中有许多线程安全类,比如线程安全的集合类。从Java5开始,在java.util.concurrent包下提供了大量支持高效并发访问的集合接口和实现类。如:ConcurrentMap、ConcurrentLinkedQueue等线程安全集合。引入问题那么问题来了,这些线程安全类的底层是怎么保证线程安全的,你可能会想到是不是使用同步代码锁synchronized?引入概念这些线

    2022年8月9日

发表回复

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

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