ClearSeve

win32消息风格总结
一、窗口注册风格: 1、CS_HREDRAW 窗口水平拖拽,窗口收到重绘消息 2、CS_...
扫描右侧二维码阅读全文
24
2018/10

win32消息风格总结

一、窗口注册风格:
1、CS_HREDRAW 窗口水平拖拽,窗口收到重绘消息
2、CS_VERDRAW 窗口垂直拖拽,窗口收到重绘消息
3、CS_DBLCLKS 双击
二、窗口创建风格
1、WS_BORDER 黑色的窗口线
2、WS_CAPTION 标题栏
3、WS_CHILD 创建一个子窗口
4、WS_CHILDWINDOW 同上
5、WS_CLIPCHILDREN 剪裁窗口
6、WS_DISABLED 死窗口
7、WS_DLGFRAME 不是对话框的对话框
8、WS_GROUP 单选按钮
9、WS_HSCROLL 水平滚动条风格
10、WS_ICONIC 最小化风格
11、WS_MAXIMIZE 最大化风格(创建好初始化为最大化)
12、WS_MAXIMIZEBOX 最大化按钮
13、WS_MINIMIZEBOX 最小化按钮
14、WS_OVERLAPPEDWINDOW 包含风格:WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, WS_MAXIMIZEBOX,Same as the WS_TILEDWINDOW
15、WS_POPUP
16、WS_SIZEBOX
17、WS_SYSMENU 系统菜单风格
18、WS_VSCROLL 垂直滚头条
19、WS_VISIBLE 创建可见窗口,子窗口能用到
其他风格:
20、WS_EX_CLIENTEDGE 文本边框立体感
21、WS_EX_MDICHILD 创建多窗口
三、常用消息
1、WM_DESTROY 窗口被销毁时的消息,无消息参数。对应函数PostQuitMessage(0);
2、WM_SYSCOMMAND 系统命令消息,系统命令消息,当点击窗口的最大化、最小化、关闭等命令时,收到这个消息。常用在窗口关闭时,提示用户处理。①wParam-具体命令,例如:SC_CLOSE等。②lParam 鼠标位置 LOWORD 底字-X水平位置,HIWORD 高字-Y垂直位置
3、WM_CREATE 在窗口创建成功还未显示之前,收到这个消息。常用于初始化窗口的参数、资源等等,包括创建子窗口等。
4、WM_SIZE - 在窗口的大小发生变化后,会收到WM_SIZE。常用于窗口大小变化后,调整窗口内各个部分的布局。WPARAM窗口大小变化的原因,LPARAM变化窗口客户区的大小;
5、WM_PAINT 绘图消息
6、WM_CREATE 可以设置定时器 SetTimer(hWnd,1,10,NULL);创建菜单栏等;
7、WM_TIMER 定时器消息
8、WM_INITDIALOG 对话框消息,对话框创建之后显示之前,通知对话框窗口处理函数,可以完成自己的初始化相关的操0作。功能相当于Wnd窗口里的WM_CREATE;
四、鼠标消息
1、WM_LBUTTONDOWN 鼠标左键按下
2、WM_LBUTTONUP 鼠标左键抬起
3、WM_RBUTTONDOWN 鼠标右键按下
4、WM_RBUTTONUP 鼠标右键抬起
5、WM_MOUSEMOVE 鼠标移动消息
6、WM_LBUTTONDBLCLK 鼠标左键双击 //双击消息需要在注册窗口时添加加CS_DBLCLKS风格
7、WM_RBUTTONDBLCLK 鼠标右键双击
8、WM_MOUSEWHEEL 鼠标滚轮消息 //#define _WIN32_WINNT 0X400 提升版本到4.0,例如:0X500就是5.0版本(滚轮消息特色)
9、WM_MOUSEMOVE 鼠标移动产生的一系列消息
注意:消息参数: WPARAM - 其他按键的状态,例如Ctrl/Shift等;LPARAM - 鼠标的位置,窗口客户区坐标系。
五、键盘消息:
1、WM_KEYDOWN 按键被按下时产生 //可以重复使用
2、WM_KEYUP 按键被放开时产生 //只能在松开键时出现一次
3、WM_SYSKEYDOWM 系统键按下时产生,比如ALT、F10
4、WM_SYSKEYUP 系统键放开时产生
5、WM_CHAR 字符消息,可见按键产生,不可见按键不产生;
6、消息参数: ①按键消息:WPARAM - 按键的Virtual Key,LAPRAM - 按键的参数,例如按下次数

           ②WM_CHAR消息:WPARAM - 输入的字符,LPARAM - 按键的相关参数

六、菜单风格:
1、基本风格(任何菜单都必须含有的)
①MF_POPUP 用来弹出下拉菜单或子菜单,菜单项ID的参数应设置为 被弹出的下拉菜单或子菜单句柄
②MF_SEPARATOR 菜单项分割线
③MF_STRING 被点击后,发出WM_COMMAND消息
2、MF_CHECKED 打钩

 MF_UNCHECKED    取消打钩

3、MF_GRAYED 灰色

 MF_ENABLED        激活灰色

4、MF_MENUBREAK 换行
5、WM_COMMAND 消息;具有MF_STRING风格的菜单项才会触发命令,参数:wParam,HIWORD对于菜单为0,LOWORD菜单项的ID;对于菜单lParam参数为NULL;
右键菜单:
6、TPM_RETURNCMD 不发出WM_COMMAND消息
7、WM_CONTEXTMENU 右键菜单处理专业使用,可以获取屏幕坐标
七、资源消息
1、WM_SETICON 改变图标资源消息//SendMessage(hWnd,WM_SETICON,ICON_SMALL,(LPARAM)hIcon);//大图标转换成小图标
2、WM_SETCURSOR 光标参数,只要光标移动就会产生,WPARAM - 当前使用的光标句柄,LPARAM -LOWORD 当前区域的代码,HIWORD 当前鼠标的消息ID;
3、
八、子控件
1、控件的窗口消息 - 使用SendMessage向控件发送消息
2、控件的通知消息 - WM_COMMAND
3、WS_CHILD 创建子窗口控件的必须风格之①
4、WS_VISIBLE 创建子窗口控件的必须风格之②
5、WS_HSCROLL 水平滚动条
6、WS_VSCROLL 垂直滚动条
7、WS_GROUP 单选框分组风格
8、BS_PUSHBUTTON 下压式按钮
9、BS_GROUPBOX 分组框
10、①BS_CHECKBOX 复选框(自定义设置勾选)

 ②BS_AUTOCHECKBOX    复选框(系统设置)
 ③BS_3STATE    三色复选框(自定义设置勾选)
 ④BS_AUTO3STATE    三色复选框(系统设置)

11、①BS_RADIOBUTTON 单选框(自定义设置勾选)

 ②BS_AUTORADIOBUTTON    单选框(系统自定义)

12、①窗口消息:BM_SETCHECK 设置勾选状态

     BM_GETCHECK    获取勾选状态
 ②通知消息:BN_CLICKED    按钮被点击

13、编辑框:EDIT

     通知消息:EN_CHANGE 当编辑框内的文字被修改,通知父窗口。
 ①ES_MULTILINE    多行模式
 ②ES_PASSWORD    密码模式(只针对单行模式)
 ③ES_NUMBER    只能输入数字,不能输入字符
 ④ES_AUTOVSCROLL    自动换行

14、组合框:COMBOBOX

 ①CBS_SIMPLE    简单组合框
 ②CBS_DROPDOWN    下拉式组合框
 ③CBS_DROPDOWNLIST    下拉列表式组合框
 组合框消息:
 ①CB_ADDSTRING    选项的添加    - WPARAM 不使用,LPARAM 字符串指针
   CB_INSERTSTRING
 ②CB_DELETESTRING    删除指定项
   CB_RESETCONTENT    清楚所有项
 ③CB_GETCURSEL    获取指定项
   CB_SETCURSEL    设置当前被选择项
 ④CB_FINDSTRING        根据字符串,查找选项,从选项的起始字符查找包含字符串    //非精确查找
 ⑤CB_FINDSTRINGEXACT    匹配查找的字符串                    //精确查找
 ⑥CB_SELECTSTRING        查找并设置成当前被选择项
 ⑦
 ⑧WM_GETTEXT    
最后修改:2018 年 10 月 24 日 11 : 27 AM

发表评论