一些窗口消息的详解
2012-07-02 18:24
591 查看
Public Const WM_NULL = &H0 '空消息 Public Const WM_NCCREATE = &H81 '当窗口第一次被创建时,此消息在WM_CREATE消息发送前发送 Public Const WM_CREATE = &H1 '窗口被创建时发送到它的窗口过程的消息 Public Const WM_NCDESTROY = &H82 '当窗口的非客户区正在销毁时 Public Const WM_DESTROY = &H2 '当窗口正在销毁时 Public Const WM_ACTIVATEAPP = &H1C '窗口准备被激活前或准备失去激活状态后的消息 Public Const WM_NCACTIVATE = &H86 '窗口非客户区准备被激活时或准备失去激活状态时的消息 Public Const WM_ACTIVATE = &H6 '窗口准备被激活时或准备失去激活状态时的消息 Public Const WM_SETFOCUS = &H7 '窗口得到焦点时(比如窗口由最小化还原时)的消息 Public Const WM_KILLFOCUS = &H8 '窗口失去焦点时的消息 Public Const WM_MOVE = &H3 '窗口移动后或最大,最小化,恢复,还原后发送到它的窗口过程的消息 Public Const WM_SIZE = &H5 '窗口的大小改变后或最大,最小化后发送到它的窗口过程的消息(可用wParam判断最大还是最小化) 'Size消息的附加信息(wParam) Const SIZE_RESTORED = 0 Const SIZE_MINIMIZED = 1 Const SIZE_MAXIMIZED = 2 Const SIZE_MAXSHOW = 3 Const SIZE_MAXHIDE = 4 Public Const WM_ENABLE = &HA '当调用EnableWindow API函数使窗口或控件的Enable状态发生改变时窗口接收到的消息 Public Const WM_SETREDRAW = &HB '设置窗口或控件是否能重画(附加消息wParam为0时不能重画,为1时可以重画) Public Const WM_SETTEXT = &HC '设置窗口标题或控件的内容。也可以用来向另一个应用程序发送数据的消息。效果:跟 相同 SetWindowText API函数 Public Const WM_GETTEXT = &HD '获取窗口标题或控件的内容。效果:跟 GetWindowText API函数相同 Public Const WM_GETTEXTLENGTH = &HE '获取窗口标题或控件的内容的长度。效果:跟 GetWindowTextLength API函数相同 Public Const WM_PAINT = &HF '当窗口有无效区域时,系统要求窗口重画无效区域的消息。可以调用 InvalidateRect API函数使窗口有无效区域 Public Const WM_CLOSE = &H10 '当窗口或应用程序要关闭时,或用来关闭另一个窗口或应用程序的消息 Public Const WM_QUERYENDSESSION = &H11 '关机,注销,重新启动时或其他程序调用了ExitWindows API函数,系统依次发送给所有程序的消息 Public Const WM_QUIT = &H12 '用来结束程序运行或当程序调用PostQuitMessage函数的消息 Public Const WM_QUERYOPEN = &H13 '当窗口恢复以前的大小位置时,把此消息发送给某个图标 Public Const WM_ERASEBKGND = &H14 '当窗口背景被擦除时。效果:跟 VB的Form_Paint过程相同(当AutoRedraw属性设置为True时) Public Const WM_SYSCOLORCHANGE = &H15 '当系统颜色改变时,发送此消息给所有顶层窗口 Public Const WM_ENDSESSION = &H16 '当系统发出WM_QUERYENDSESSION消息后,等待检查WM_QUERYENDSESSION消息的返回值, 再接着发送此消息给应用程序,系统并根据返回值决定是否关机,注销或重启 Public Const WM_SHOWWINDOW = &H18 '当调用ShowWindow API函数使窗口显示的状态改变或窗口显示的状态发生改变时 Public Const WM_WININICHANGE = &H1A '当系统的Win.ini文件内容改变后,发送此消息给所有顶层窗口 Public Const WM_DEVMODECHANGE = &H1B '当系统的设备模式改变后,发送此消息给所有顶层窗口 Public Const WM_FONTCHANGE = &H1D '当系统的字体资源库改变后,发送此消息给所有顶层窗口 Public Const WM_TIMECHANGE = &H1E '当调用API改变或重新设置系统的时间后,系统发送此消息给所有顶层窗口 Public Const WM_CANCELMODE = &H1F '发送此消息来取消某种正在进行的模式(操作) Public Const WM_SETCURSOR = &H20 '当鼠标进入窗口时和在窗口上移动时 Public Const WM_MOUSEACTIVATE = &H21 '当用鼠标激活窗口时 Public Const WM_CHILDACTIVATE = &H22 '当MDI子窗口被激活,移动,改变大小 Public Const WM_QUEUESYNC = &H23 '此消息由基于计算机的训练程序发送,通过WH_JOURNALPALYBACK的hook程序分离出用户输入消息??? Public Const WM_GETMINMAXINFO = &H24 '当窗口将要改变大小或位置前 Public Type MINMAXINFO ptReserved As POINTAPI ptMaxSize As POINTAPI ptMaxPosition As POINTAPI ptMinTrackSize As POINTAPI '可以用来限制窗口最小的大小 ptMaxTrackSize As POINTAPI '可以用来限制窗口最大的大小 End Type Public Const WM_DRAWITEM = &H2B '当button,combobox,listbox,menu的可视外观改变时,发送此消息给这些控件的父窗口 Public Const WM_MEASUREITEM = &H2C '当list box 或 combo box被销毁 或 当某些项被删除通过LB_DELETESTRING, LB_RESETCONTENT, CB_DELETESTRING, 或 CB_RESETCONTENT 消息 Public Const WM_SETFONT = &H30 '设置窗口或控件所使用的字体 Public Const WM_GETFONT = &H31 '得到窗口或控件所使用的字体 Public Const WM_SETHOTKEY = &H32 '设置一个跟窗口关联的热键 Public Const WM_GETHOTKEY = &H33 '得到一个跟窗口关联的热键 Public Const WM_COMPAREITEM = &H39 '发送此消息来判定combobox或listbox新增加的项的相对位置 Public Const WM_GETOBJECT = &H3D '得到对象的信息 Public Const WM_COMPACTING = &H41 '显示内存已经很少了 Public Const WM_POWER = &H48 '当系统将要进入休眠状态时发送此消息 Public Const WM_COPYDATA = &H4A '可以向另一个应用程序发送数据的消息 Public Type COPYDATASTRUCT dwData As Long '附加数据 cbData As Long '要发送的数据的大小 lpData As Long '要发送的数据的地址 End Type Public Const WM_CANCELJOURNAL = &H4B '取消日志HOOK Public Const WM_NOTIFY = &H4E 'ListView,TreeView等通用控件跟它们的父窗口通讯的消息 Public Const WM_INPUTLANGCHANGEREQUEST = &H50 '当选择某种输入语言,或输入语言的热键改变时 Public Const WM_TCARD = &H52 '当程序已经初始化Windows帮助例程时,发送此消息给应用程序 Public Const WM_HELP = &H53 '在当前窗口活动时,按下F1键时收到的消息 Public Const WM_USERCHANGED = &H54 '当用户已经登入或退出后发送此消息给所有的窗口,当用户登入或退出时系统更新用户的具体设置信息,在用户更新设置时系统马上发送此消息 Public Const WM_NOTIFYFORMAT = &H55 '公用控件,自定义控件和他们的父窗口通过此消息来判断控件是使用ANSI还是UNICODE结构在WM_NOTIFY消息,使用此控件能使某个控件与它的父控件之间进行相互通信 Public Const WM_CONTEXTMENU = &H7B '当在某个窗口中点击了一下右键就发送此消息给这个窗口 Public Const WM_STYLECHANGING = &H7C '当调用SetWindowLong API函数改变一个或多个窗口的风格时 Public Const WM_STYLECHANGED = &H7D '当调用SetWindowLong API函数改变一个或多个窗口的风格后 Public Const WM_DISPLAYCHANGE = &H7E '当显示器的分辨率发生改变后,系统发送此消息给所有的窗口 Public Const WM_GETICON = &H7F '获取窗口的图标句柄 Public Const WM_SETICON = &H80 '改变窗口的图标 '附加参数(wparam)的值 Public Const ICON_SMALL = 0 '小图标 Public Const ICON_BIG = 1 '窗口左上角那个大图标 Public Const WM_NCCALCSIZE = &H83 '当需要计算窗口的非客户区大小时(例如:窗口大小改变了)。非客户区指的是窗口标题栏和窗口边框 Public Const WM_NCHITTEST = &H84 '当鼠标进入窗口(包含非客户区)时和在窗口上(包含非客户区)移动时 Public Const WM_NCMOUSEMOVE = &HA0 '当鼠标在窗口非客户区移动时 Public Const WM_NCLBUTTONDOWN = &HA1 '当鼠标左键在窗口非客户区按下 Public Const WM_NCLBUTTONUP = &HA2 '当鼠标左键在窗口非客户区放开 Public Const WM_NCLBUTTONDBLCLK = &HA3 '当鼠标左键在窗口非客户区双击 Public Const WM_NCRBUTTONDOWN = &HA4 '当鼠标右键在窗口非客户区按下 Public Const WM_NCRBUTTONUP = &HA5 '当鼠标右键在窗口非客户区放开 Public Const WM_NCRBUTTONDBLCLK = &HA6 '当鼠标右键在窗口非客户区双击 Public Const WM_NCMBUTTONDOWN = &HA7 '当鼠标中键在窗口非客户区按下 Public Const WM_NCMBUTTONUP = &HA8 '当鼠标中键在窗口非客户区放开 Public Const WM_NCMBUTTONDBLCLK = &HA9 '当鼠标中键在窗口非客户区双击 Public Const WM_KEYDOWN = &H100 '在键盘按下了某个键(Print Screen键,Alt键,Alt组合键和Win组合键除外),也可以用来模拟按键 Public Const WM_KEYUP = &H101 '在键盘放开了某个键,也可以用来模拟按键 Public Const WM_CHAR = &H102 '接收字符的消息,也可以用来向窗口发送字符 Public Const WM_DEADCHAR = &H103 '死字符消息 Public Const WM_SYSKEYDOWN = &H104 '在键盘按下了 Alt键 或 Alt组合键 的消息 Public Const WM_SYSKEYUP = &H105 '在键盘放开了 Alt组合键 Public Const WM_SYSCHAR = &H106 '系统字符消息 Public Const WM_SYSDEADCHAR = &H107 '系统死字符消息 Public Const WM_INITDIALOG = &H110 '系统标准对话框初始化时的消息,对话框使用此消息代替了WM_CREATE消息 Public Const WM_COMMAND = &H111 '鼠标点击窗口菜单项后或窗口中的非图形控件(如Button)后发送的消息(其中hwnd为窗口句柄,wParam为控件ID,lParam为菜单或控件句柄) Public Const WM_SYSCOMMAND = &H112 '鼠标点击窗口的非客户区后发送的消息(可用wParam判断点击了非客户区的哪个地方) 'SYSCOMMAND消息的附加信息(wParam) Const SC_SIZE = 61440 '系统菜单项上的大小 Const SC_MOVE = 61456 '系统菜单项上的移动 Const SC_MINIMIZE = 61472 '系统菜单项上的最小化 Const SC_MAXIMIZE = 61488 '系统菜单项上的最大化 Const SC_NEXTWINDOW = &HF040& '显示在下次后面的再打开窗口 Const SC_PREVWINDOW = &HF050& '显示上次前面打开的窗口 Const SC_CLOSE = 61536 '系统菜单项上的关闭 Const SC_RESTORE = 61728 '系统菜单项上还原 Const SC_SCREENSAVE = &HF140& '调用屏幕保护程序(如果设置有的话) Const SC_ICON = 61587 '点击了窗口左上角的图标 Const SC_ZOOM = SC_MAXIMIZE '最大化 Const SC_MONITORPOWER = &HF170& '关闭显示器(附加参数lParam的值为1或2) Public Const WM_TIMER = &H113 '定时器专用消息,可用SetTimer或KillTimer API函数安装或卸载一个定时器 Public Const WM_HSCROLL = &H114 '水平滚动条滚动时 Public Const WM_VSCROLL = &H115 '垂直滚动条滚动时 Public Const WM_INITMENU = &H116 '当鼠标左键点击窗口菜单栏前 Public Const WM_INITMENUPOPUP = &H117 '当鼠标左键点击窗口菜单栏后,菜单弹出前 Public Const WM_MENUSELECT = &H11F '当菜单项被选中时 Public Const WM_MENUCHAR = &H120 '当菜单已被激活且用户按下了某个键(不同于加速键),发送此消息给菜单的父窗口 Public Const WM_ENTERIDLE = &H121 '当一个模态对话框或菜单进入空闲状态时,发送此消息给它的父窗口 Public Const WM_MOUSEMOVE = &H200 '当鼠标在窗口客户区移动时 Public Const WM_LBUTTONDOWN = &H201 '当鼠标左键在窗口客户区按下 Public Const WM_LBUTTONUP = &H202 '当鼠标左键在窗口客户区放开 Public Const WM_LBUTTONDBLCLK = &H203 '当鼠标左键在窗口客户区双击 Public Const WM_RBUTTONDOWN = &H204 '当鼠标右键在窗口客户区按下 Public Const WM_RBUTTONUP = &H205 '当鼠标右键在窗口客户区放开 Public Const WM_RBUTTONDBLCLK = &H206 '当鼠标右键在窗口客户区双击 Public Const WM_MBUTTONDOWN = &H207 '当鼠标中键在窗口客户区按下 Public Const WM_MBUTTONUP = &H208 '当鼠标中键在窗口客户区放开 Public Const WM_MBUTTONDBLCLK = &H209 '当鼠标中键在窗口客户区双击 Public Const WM_MOUSEWHEEL = &H20A '当滚动鼠标滚轮时 Public Const WM_PARENTNOTIFY = &H210 '当MDI子窗口被创建或被销毁,或按了一下鼠标键而光标在子窗口上时发送此消息给它的父窗口 Public Const WM_SIZING = &H214 '当用户正在调整窗口大小时的消息,通过此消息应用程序可以监视窗口大小和位置也可以修改它们 Public Const WM_CAPTURECHANGED = &H215 '鼠标捕获消息或调用SetCapture API后发送到窗口的消息 Public Const WM_MOVING = &H216 '当窗口正在移动中 Public Const WM_POWERBROADCAST = &H218 '系统广播消息给应用程序来通知它有关的电源管理事件 Public Const WM_DEVICECHANGE = &H219 '当设备的硬件配置改变时,发送此消息给应用程序或设备驱动程序(比如:插入了可移动磁盘),可以调用RegisterDeviceNotification 和UnregisterDeviceNotification API函数 注册和销毁设备的硬件配置改变通知消息 Public Const WM_DROPFILES = &H233 '文件拖动入窗口并放开的消息(窗口需要拥有WS_EX_ACCEPTFILES扩展风格,或调用DragAcceptFiles API函数。用DragQueryFile API函数可得到拖动文件名) Public Const WM_MOUSEHOVER = &H2A1 '在上次调用TrackMouseEvent API函数的指定时间里,鼠标盘旋在窗口的客户区时的消息 Public Const WM_MOUSELEAVE = &H2A3 '鼠标离开上次调用TrackMouseEvent API函数时指定的窗口客户区时的消息。 Public Const WM_CUT = &H300 '剪切剪贴板的内容 Public Const WM_COPY = &H301 '复制剪贴板的内容 Public Const WM_PASTE = &H302 '粘贴剪贴板的内容 Public Const WM_CLEAR = &H303 '清除剪贴板的内容 Public Const WM_UNDO = &H304 '撤消上一次的操作 Public Const WM_DRAWCLIPBOARD = &H308 '当剪贴板的内容改变时发送此消息给剪贴板观察链的第一个窗口。可调用SetClipboardViewer API函数安装到剪贴板观察链上 Public Const WM_HOTKEY = &H312 '当按下由RegisterHotKey API函数注册的热键时收到的消息,也可以用此消息模拟系统热键(比如模拟Win+D键:Call PostMessage(HWND_BROADCAST, WM_HOTKEY, 1, 0)) Public Const WM_USER = &H400 '窗口自定义的消息
相关文章推荐
- MFC一些窗口消息的详解
- 详解QT源码之QT创建窗口程序、消息循环和WinMain函数
- 窗口注册类结构和消息结构详解
- [转]SetTimer定时器与WM_TIMER窗口消息详解
- 创建窗口第三步 消息循环(详解)
- SetTimer定时器与WM_TIMER窗口消息详解
- 创建及销毁窗口时消息的详解
- Windows的一些窗口消息
- 一些常用的PHP功能函数(一)-- 消息窗口
- 网络编程(53)—— Windows下使用WSAAsyncSelect实现窗口处理socket消息
- Javascript鼠标离开窗口消息处理
- petshop4.0 详解之三(PetShop数据访问层之消息处理) [转]
- LTE网络中SIB2(系统消息2)信息详解
- Qt窗口的一些简单设置-标题、图标、最大化最小化按钮、任务栏图标
- [Win32]窗口的创建以及消息响应基本概念
- Java消息服务JMS详解
- Android多线程----异步消息处理机制之Handler详解
- 常用的一些HQL查询语句详解(2)