Win32学习笔记——消息处理
2013-07-08 17:24
405 查看
一 Win32消息机制
1.消息机制
过程驱动:程序是按照我们预先定义好的顺序执行
事件驱动:程序的执行顺序是无序的。某个时间点所执行的代码,是由外界通知。
Win32的消息机制 —— 事件驱动
2.Win32消息程序
2.1Win32窗口注册
2.2Win32窗口创建
2.3Win32消息循环
2.3.1 GetMessage
PostQuitMessage向窗口发送WM_QUIT消息。
2.3.2 DispatchMessage
根据消息数据内窗口句柄,找到这个窗口,根据窗口处理函数,调用处理函数,进行消息处理。
如果HWND为空不做任何处理。
2.3.3 TranslateMessage
2.4Win32基本消息
2.4.1 WM_DESTROY窗口销毁时的消息,可以做退出处理。
2.4.2 WM_CREATE窗口创建后,窗口处理函数收到的第一条消息,即窗口创建消息,可以在这个消息内做数据初始化/创建子窗口处理。
WPARAM wParam - 不使用
LPARAM lParma - CreateStruct结构
2.4.3 WM_SIZE窗口大小发生变化时收到此消息,可以在这个消息中调整窗口布局。
WPARAMwParam - SIZE发生变化时的标示
LOWORD(lParam)客户区的宽
HIWORD(lParam)客户区的高
2.4.4 WM_SYSCOMMAND系统命令消息,当点击系统菜单和按钮时会收到。可以在这个消息中提示保存数据等。
wParam- 命令类型
LOWORD(lParam) 水平坐标
HIWORD(lParam)垂直坐标
2.4.5 WM_PAINT绘图消息
2.4.6 鼠标消息
2.4.7 键盘消息
2.4.8 WM_TIMER 定时器消息
2.5消息结构
MSG - 消息结构
2.6 消息的获取和发送
2.6.1 获取GetMessage / PeekMessage
GetMessage 获取消息,阻塞函数
PeekMessage获取消息,非阻塞函数
2.6.2 发送SendMessage / PostMesaage
SendMessage发送消息并等候消息处理结束后才返回
PostMessage发送消息后立即返回
1.消息机制
过程驱动:程序是按照我们预先定义好的顺序执行
事件驱动:程序的执行顺序是无序的。某个时间点所执行的代码,是由外界通知。
Win32的消息机制 —— 事件驱动
2.Win32消息程序
2.1Win32窗口注册
2.2Win32窗口创建
2.3Win32消息循环
2.3.1 GetMessage
PostQuitMessage向窗口发送WM_QUIT消息。
2.3.2 DispatchMessage
根据消息数据内窗口句柄,找到这个窗口,根据窗口处理函数,调用处理函数,进行消息处理。
如果HWND为空不做任何处理。
2.3.3 TranslateMessage
2.4Win32基本消息
2.4.1 WM_DESTROY窗口销毁时的消息,可以做退出处理。
2.4.2 WM_CREATE窗口创建后,窗口处理函数收到的第一条消息,即窗口创建消息,可以在这个消息内做数据初始化/创建子窗口处理。
WPARAM wParam - 不使用
LPARAM lParma - CreateStruct结构
2.4.3 WM_SIZE窗口大小发生变化时收到此消息,可以在这个消息中调整窗口布局。
WPARAMwParam - SIZE发生变化时的标示
LOWORD(lParam)客户区的宽
HIWORD(lParam)客户区的高
2.4.4 WM_SYSCOMMAND系统命令消息,当点击系统菜单和按钮时会收到。可以在这个消息中提示保存数据等。
wParam- 命令类型
LOWORD(lParam) 水平坐标
HIWORD(lParam)垂直坐标
2.4.5 WM_PAINT绘图消息
2.4.6 鼠标消息
2.4.7 键盘消息
2.4.8 WM_TIMER 定时器消息
2.5消息结构
MSG - 消息结构
2.6 消息的获取和发送
2.6.1 获取GetMessage / PeekMessage
GetMessage 获取消息,阻塞函数
PeekMessage获取消息,非阻塞函数
2.6.2 发送SendMessage / PostMesaage
SendMessage发送消息并等候消息处理结束后才返回
PostMessage发送消息后立即返回
相关文章推荐
- VC++学习笔记之消息处理机制和窗口过程函数
- Android消息处理学习笔记
- mfc学习笔记之如何修改mfc消息机制处理顺序
- WIN32 API/WTL 学习笔记(消息传递过程)
- [原创]java WEB学习笔记69:Struts2 学习之路-- 消息处理与国际化,概述,配置国际资源文件,访问国际化消息,通过超链接切换语言
- MFC学习笔记二 处理键盘消息
- Win32学习笔记——鼠标消息
- [WPF] Felix 的线程学习笔记(一)——从Win32的消息循环说起
- Akka学习笔记:Actor消息处理-请求和响应(1)
- struts2的表单验证 ,消息处理学习笔记
- MFC学习笔记——CDialog(为控件添加消息处理函数)
- C++ Primer 学习笔记_56_ 类和数据抽象 --消息处理演示示例
- Socket网络编程学习笔记(4):TCP消息边界处理
- DUILib学习笔记---消息处理
- Socket网络编程学习笔记(4):TCP消息边界处理
- 【VS2010学习笔记】【函数学习】一(MFC+OpenCV2.4.7读取摄像头之WM_TIMER消息处理函数的添加问题)
- Win32学习笔记——定时器消息
- 【VC编程】笔记3---使用Win32SDK编程,模仿MFC的消息映射处理机制
- Akka学习笔记:Actor消息处理-请求和响应(1)
- 【Darwin学习笔记】之QTSSReflectorModule的Setup消息处理