win32消息风格总结

来源:互联网 发布:spf调度算法代码 编辑:程序博客网 时间:2024/06/16 00:00
一、窗口注册风格:
  1、CS_HREDRAW Redraws the entire window if a movement or size adjustment changes the width of the client area.
  2、CS_VERDRAW Redraws the entire window if a movement or size adjustment changes the height of the client area.
  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
原创粉丝点击