您的位置:首页 > 其它

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发送消息后立即返回
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: