消息是什么_消息和信息有什么区别

消息是什么_消息和信息有什么区别Windows基于消息的模式:一旦程序启动,它只是简单地等待发送给它的消息,然后作出相应的响应。由Windows本身去检测是否有一个键被按下或是否有鼠标移动。当这类事件发生时,Windows

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

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
Windows 基于消息的模式: 一旦程序启动,它只是简单地等待发送给它的消息,然后作出相应的响应。由 Windows 本身去检测是否有 一个键被按下或是否有鼠标移动。当这类事件发生时,Windows 就向程序发送一条预定义的消息,告诉它发 生了什么。程序一般都有响应消息或不理睬消息的选项。

  ·DOS 过程模式: C++ 代码通常是线性地执行,也就是从程序的开头到结束,每个时刻执行一行代码,或者转移到某行代 码,或者循环执行,以这几种方式运行各段代码。程序要想知道发生了什么,必须通过调用基于中断的子程 序。这些子程序是操作系统内部建立或由硬件实现的。子程序返回时,报告是否有一个键被按下或鼠标做了 移动。

  消息实际上只是在 WINDOWS.H 文件复合体中定义的常量,现在对此应不感到奇怪了。作为例子,下 面列出有关键盘处理和鼠标移动的消息说明:

// Keyboard messages

#define WM_KEYDOWN 0x0100 // Key was pressed

#define WM_KEYUP 0x0101 // Key was released

#define WM_CHAR 0x0102 // Processed keystroke

#define WM_DEADCHAR 0x0103 // Composite key

#define WM_SYSKEYDOWN 0x0104 // Alt key was pressed

#define WM_SYSKEYUP 0x0105 // Alt key was released

#define WM_SYSCHAR 0x0106 // Processed system keystroke

#define WM_SYSDEADCHAR 0x0107 // Composite system keystroke

// Mouse input messages

#define WM_MOUSEMOVE 0x0200 // Mouse was moved

#define WM_LBUTTONDOWN 0x0201 // Left button pressed

#define WM_LBUTTONUP 0x0202 // Left button released

#define WM_LBUTTONDBLCLK 0x0203 // Double click of left button

#define WM_RBUTTONDOWN 0x0204 // Right button pressed

#define WM_RBUTTONUP 0x0205 // Right button released

#define WM_RBUTTONDBLCLK 0x0206 // Double click of right button

#define WM_MBUTTONDOWN 0x0207 // Middle button down

#define WM_MBUTTONUP 0x0208 // Middle button up

#define WM_MBUTTONDBLCLK 0x0209 // Double click of middle button

  不要试图记住这些消息。只要大致看一看,熟悉一下它们的外观和所提供的服务类型就可以了。

  显然,关于消息本身并没有什么神秘之处。它们只是具有有用名字的简单常量,用来通知程序系统当前 的状态。当一个事件发生时,这些消息与其它有用的信息捆绑在一起发送给一个或多个应用程序窗口过程。

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166379.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • js算法初窥04(算法模式01-递归)「建议收藏」

    终于来到了有点意思的地方——递归,在我最开始学习js的时候,基础课程的内容就包括递归,但是当时并不知道递归的真正意义和用处。我只是知道,哦…递归是自身调用自身,递归要记得有一个停止调用的条件。那时

  • jdbc是数据库连接池么_零之轨迹超详细攻略

    jdbc是数据库连接池么_零之轨迹超详细攻略JDBC数据库连接池一、JDBC数据库连接池的必要性二、数据库连接池技术三、多种开源的数据库连接池3.1C3P0数据库连接池3.2DBCP数据库连接池3.3Druid(德鲁伊)数据库连接池一、JDBC数据库连接池的必要性1、在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤:(1)在主程序(如servlet、beans)中建立数据库连接(2)进行sql操作(3)断开数据库连接2、这种模式开发,存在的问题:(1)普通的JDBC数据库连接使用DriverManager来

  • vs2013安装失败解决办法_cad2012安装失败解决方案

    vs2013安装失败解决办法_cad2012安装失败解决方案 在实际的vs2008安装过程中,发现安装到一定的时候出现错误,导致安装无法继续进行。经过上网查询相关解决方案,成功解决了这个问题,逐将解决过程与大家分享。    显示的错误界面如下图所示: 解决方案:     在VS2008安装光盘下找到…/WCU/WebDesignerCore/WebDesignerCore.exe并将其复制到硬盘上其他目录下(不在VS2008

  • 字符串数组转集合_安全方法把字符串转集合

    字符串数组转集合_安全方法把字符串转集合//controller中接收id数组, //html页面; varids=$(‘#yourGrid’).jqGrid(‘getGridParam’,’selarrrow’); //bean属性设置值,表达提交方式, $(“#ids”).val(JSON.stringify(ids)); //controller List<String>ids=JSON.par…

  • RewriteCond指令格式

    RewriteCond指令格式RewriteCond指令格式语法:RewriteCondTestStringCondPattern[flags]RewriteCond指令定义一条规则条件。在一条RewriteRule指令前面可能会有一条或多条RewriteCond指令,只有当自身的模板(pattern)匹配成功且这些条件也满足时规则才被应用于当前URL处理。1、TestString是一个纯文本的字符串,除

  • 分页 模糊查询「建议收藏」

    分页 模糊查询「建议收藏」一、所有的web项目都会用到分页显示和模糊查询,对于有些人不知道该怎么写二、今天我用springMVC和myBatis写的分页和模糊分享给大家,不喜勿喷三、数据库是mysql四、其实写分页就是新建一个分页的类,定义页码每页数量共几页当前页数总数量五、判断多少页,获取总数量除以每页显示的数量,有余数+1页六、sql语句就是用…

发表回复

您的电子邮箱地址不会被公开。

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