window编程_消息分类
Window应用程序利用Windows消息(Message)
与应用程序及系统进行信息交换。
消息分为:
消息号:有事先定义好的消息名标识
字节参数(wParam):用于提供消息的附加信息
长字节参数(lParam):用于提供消息的附加信息
注:附加信息与具体消息号的值有关,在Win中消息用结构体MSG表示
//结构体MSG
typedef struct tagMSG
{HWND hwnd; 窗口句柄,为null,则可检索所有驻留在消息队列中的消息
UINT message; 消息值,由Windows.h头文件中的宏定义来标识
WPARAM wParam; 包含有关消息的附加信息,不同消息其值有所不同
LPARAM lParam;
DWORD time; 指定消息送至队列的时间
POINT pt;指定消息发送时屏幕光标的位置,其数据类型POINT也是一个结构体
}MSG;
//结构体POINT
typedef struct tagPOINT
{LONG x;
LONG y;
} POINT;
消息分类:VC中存在几种系统定义的消息分类,
不同的前缀符号经常用于消息宏识别消息附属的分类,
系统定义的消息宏前缀如下:
BM 表示按钮控制消息
CB 表示组合框控制消息
DM 表示默认下压式按钮控制消息
EM 表示编辑控制消息
LB 表示列表框控制消息
SBM 表示滚动条控制消息
WM 表示窗口消息
Windows编程常用消息:
窗口管理消息
初始化消息
输入消息
系统消息
剪贴板消息
控制处理消息
控制通知消息
滚动条通知消息
非用户区消息
MDI消息
DDE消息
应用程序自定义的消息
WM_LBUTTONUP:放开鼠标左键时产生;
WM_RBUTTONDOWN:单击鼠标右键时产生;
WM_RBUTTONUP:放开鼠标右键时产生;
WM_LBUTTONDBLCLK:双击鼠标左键时产生;
WM_RBUTTONDBLCLK:双击鼠标右键时产生。
系统键:是指实现系统操作的组合键,
例如Alt与某个功能键的组合以实现系统菜单操作等
常用Windows消息:
1. WM_LBUTTONDOWN:产生单击鼠标左键的消息
lParam->低字节包含当前光标得X坐标
高字节包含当前光标得Y坐标
wParam包含一整套数值以标识鼠标键的按下状态
2. WM_KEYDOWN:按下一个非系统键是产生的消息->
wParam:按下键的虚拟键码,用以标识按下或释放的键
lParam:记录了按键的重复次数、扫描码、转移代码、先前键的状态等信息。
3. WM_ CHAR:按下一个非系统键时产生的消息
wParam 为按键的ASCII码
lParam 与WM_KEYDOWN的相同
4. WM_CREATE:由CreateWindow函数发出的消息
wParam:未用
lParam:包含一个指向CREATESTRUCT数据结构的指针
5. WM_CLOSE:关闭窗口时产生的消息
wParam和lParam均未用。
6. WM_DESTROY:由DestroyWiodow函数发出的消息
wParam和lParam均未用。
7. WM_QUIT:由PostQuitMessage函数发出的消息,退出应用程序时发出的消息
wParam:含退出代码,标识程序退出运行时的有关信息
lParam:未用
8. WM_PAINT:需要窗口重画是产生的消息
产生条件:
用户移动或显示,用户改变窗口大小,程序通过滚动条滚动窗口,
下拉式菜单关闭并需要恢复被覆盖的部分,
Windows清除对话框等对象,并需要恢复被覆盖的部分
转载于:https://www.cnblogs.com/veis/p/6940009.html
window编程_消息分类相关推荐
- python队列线程池_实例详解:python高级编程之消息队列(Queue)与进程池(Pool)
今天为大家带来的内容是:python高级编程之消息队列(Queue)与进程池(Pool),结合了实例的形式详细分析了Python消息队列与进程池的相关原理.使用技巧与操作注意事项!!! Queue消息 ...
- 学习笔记:Java 并发编程②_管程
若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 配套资料: ...
- 向Window窗体发送消息,控制程序的运行.
向Window窗体发送消息,控制程序的运行. 下面是对Windows Media Player进行控制的操作示例. 1.运行Windows Media Player; 2.运行spyxx.exe,点击 ...
- 自然语言处理美国政客的社交媒体消息分类
数据简介: Disasters on social media 美国政客的社交媒体消息分类 内容:收集了来自美国参议员和其他美国政客的数千条社交媒体消息,可按内容分类为目标群众(国家或选民).政治主张 ...
- 复习Java异常处理_异常分类_自定义异常_线程初步了解
复习Java异常处理_异常分类_自定义异常_线程 主要内容 异常.线程 教学目标 第一章 异常 1.1 异常概念 异常,就是不正常的意思.在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点 ...
- 电大Android智能手机编程答案,8941_Android智能手机编程_任务3_(福建电大省开课)辅导资料...
8941_Android 智能手机编程_任务 3_(福建电大省开课)辅导资料 说明:课程题目是随机的,下载后用 WORD 打开,然后按 CTRL+F 在题库中逐一搜索每一 道题的答案投 请仔细阅读以下 ...
- 大学生计算机python_人人都能学计算机:计算机科学入门与Python编程_学堂在线章节测试答案...
查看答案 人人都能学计算机:计算机科学入门与Python编程_学堂在线章节测试答案 单击图层调板下方的新图层按钮可以产生新图层.A:错B:对 在图示的薄壁杆件截面图形中,形心与弯曲中心重合的截面有() ...
- Android socket 编程 实现消息推送(二)
上篇文章Android socket 编程 实现消息推送(一)讲到socket编程的消息推送原理,现在我们来看看基于Android客户机socket编程实现消息推送的过程. 根据消息推送的原理图,我们 ...
- Android socket 编程 实现消息推送
最近用socket写了一个消息推送的demo,在这里和大家分享一下. 主要实现了:一台手机向另外一台手机发送消息,这两台手机可以随时自由发送文本消息进行通信,类似我们常用的QQ. 效果图: 原理 ...
最新文章
- 模拟芯片的最大“杀手”,竟然是它?!
- 服务器 新文件病毒扫描,部署 Seafile 专业版服务器
- jenkins~集群分发功能的具体实现
- CSDN登陆校验码模式识别程序
- 易语言客户端请求http_易语言建立HTTP连接请求源码
- Sicily 1934 移动小球
- leetcode python3 简单题119. Pascal's Triangle II
- 专科python应届生工资多少-阿里员工吐槽:应届生工资太猛,被倒挂,后悔接阿里侮辱性offer...
- 老生长谈的$.extend()方法
- centos 7 安装pip
- 穷查理宝典_穷查理宝典
- 三步建立自己的电影网站 番外篇 (排除MacCMS10登录故障)
- 【Tableau server7.0_私人版本】Tableau Server Certified Associate(Tableau CA) 考前预备
- 如何拆分PDF文件?来看这两种方法
- 了解记录管理系统RMS
- 大龄程序员找工作,为什么这么难?
- 4.1.3. Operators
- Java中使用Protocol Buffer
- 抖音 iOS 工程架构演进
- 高盐废水处理工艺——料液精制与除杂