没有合适的资源?快使用搜索试试~ 我知道了~
PB开发工具下SendMessage函数完全使用手册
需积分: 5 4 下载量 197 浏览量
2023-01-10
16:39:52
上传
评论
收藏 181KB DOC 举报
温馨提示
试读
14页
PB开发工具下SendMessage函数完全使用手册
资源推荐
资源详情
资源评论
1
SendMessage 函数完全使用手册
首先 我们了解一下 Windows 的消息机制。Windows 是一个消息驱动式系统,Windows 消息提供应用程
序与应用程序之间,应用程序与 Windows 系统之间进行通信的手段。举个例子,打开记事本程序,该
程序有一个 “文件“菜单。 那么,在运行该程序的时候,如果用户单击“文件菜单“里的“新建“命
令, 这个动作将被 Windows 所捕捉,Windows 经过分析得知这个动作应该由我们打开的记事本程序所
来处理,然后 Windows 就发送个消息 譬如我们编程的时候有时用到的 WM_COMMAND 的消息给记事
本,然后记事本就把这个消息处理掉。 这个过程就是消息处理。
接下来,我们把 SendMessage 的完整形式讲一下 SendMessage
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As
Long, ByVal wParam As Long, lParam As Any) As Long
别名 SendMessageA
说明 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回
SendMessage 所包含 4 个参数
hwnd 32 位的窗口句柄窗口可以是任何类型的屏幕对象,因为 Win32 能够维护大多数可视对象的句柄
wMsg 用于区别其他消息的常量值,这些常量可以是 Windows 单元中预定义的常量,也可以是自定义
的常量
wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄
lParam 通常是一个指向内存中数据的指针。由于 WParm、lParam 和 Pointer 都是 32 位的,因此,它们
之间可以相互转换
wMsg 函数
WM_CREATE
创建一个窗口
WM_DESTROY
当一个窗口被破坏时发送
WM_MOVE
移动一个窗口
WM_SIZE
改变一个窗口的大小
WM_ACTIVATE
一个窗口被激活或失去激活状态
WM_SETFOCUS
一个窗口获得焦点
WM_KILLFOCUS
一个窗口失去焦点
WM_ENABLE
一个窗口改变成 Enable 状态
WM_SETREDRAW
设置窗口是否能重画
WM_SETTEXT
应用程序发送此消息来设置一个窗口的文本
WM_GETTEXT
应用程序发送此消息来复制对应窗口的文本到缓冲区
WM_GETTEXTLENGTH
得到与一个窗口有关的文本的长度(不包含空字符)
WM_PAINT
要求一个窗口重画自己
WM_CLOSE
当一个窗口或应用程序要关闭时发送一个信号
WM_QUERYENDSESSION
当用户选择结束对话框或程序自己调用 ExitWindows 函数
WM_QUIT
用来结束程序运行
WM_QUERYOPEN
当用户窗口恢复以前的大小位置时,把此消息发送给某个图标
WM_ERASEBKGND
当窗口背景必须被擦除时(例在窗口改变大小时)
WM_SYSCOLORCHANGE
当系统颜色改变时,发送此消息给所有顶级窗口
WM_ENDSESSION
当系统进程发出 WM_QUERYENDSESSION 消息后,此消息发送给应
用程序,通知它对话是否结束
2
WM_SHOWWINDOW
当隐藏或显示窗口是发送此消息给这个窗口
WM_ACTIVATEAPP
发此消息给应用程序哪个窗口是激活的,哪个是非激活的
WM_FONTCHANGE
当系统的字体资源库变化时发送此消息给所有顶级窗口
WM_TIMECHANGE
当系统的时间变化时发送此消息给所有顶级窗口
WM_CANCELMODE
发送此消息来取消某种正在进行的摸态(操作)
WM_SETCURSOR
如果鼠标引起光标在某个窗口中移动且鼠标输入没有被捕获时,就发消
息给某个窗口
WM_MOUSEACTIVATE
当光标在某个非激活的窗口中而用户正按着鼠标的某个键发送此消息
给当前窗口
WM_CHILDACTIVATE
发送此消息给 MDI 子窗口当用户点击此窗口的标题栏,或当窗口被激
活,移动,改变大小
WM_QUEUESYNC
此 消 息 由 基 于 计 算 机 的 训 练 程 序 发 送 , 通 过
WH_JOURNALPALYBACK 的 hook 程序分离出用户输入消息
WM_GETMINMAXINFO
此消息发送给窗口当它将要改变大小或位置
WM_PAINTICON
发送给最小化窗口当它图标将要被重画
WM_ICONERASEBKGND
此消息发送给某个最小化窗口,仅当它在画图标前它的背景必须被重画
WM_NEXTDLGCTL
发送此消息给一个对话框程序去更改焦点位置
WM_SPOOLERSTATUS
每当打印管理列队增加或减少一条作业时发出此消息
WM_DRAWITEM
当 button,combobox,listbox,menu 的可视外观改变时发送
WM_MEASUREITEM
当 button,combobox,listbox,listviewcontrol,or menuitem 被创建时
WM_VKEYTOITEM
此消息有一个 LBS_WANTKEYBOARDINPUT 风格的发出给它的所有
者来响应 WM_KEYDOWN 消息
WM_CHARTOITEM
此消息由一个 LBS_WANTKEYBOARDINPUT 风格的列表框发送给他
的所有者来响应 WM_CHAR 消息
WM_SETFONT
当绘制文本时程序发送此消息得到控件要用的颜色
WM_GETFONT
应用程序发送此消息得到当前控件绘制文本的字体
WM_SETHOTKEY
应用程序发送此消息让一个窗口与一个热键相关连
WM_GETHOTKEY
应用程序发送此消息来判断热键与某个窗口是否有关联
WM_QUERYDRAGICON
此消息发送给最小化窗口,当此窗口将要被拖放而它的类中没有定义图
标,应用程序能返回一个图标或光标的句柄,当用户拖放图标时系统显
示这个图标或光标
WM_COMPAREITEM
发送此消息来判定 combobox 或 listbox 新增加的项的相对位置
WM_COMPACTING
显示内存已经很少了
WM_WINDOWPOSCHANG
ING
发 送 此 消 息 给 那 个 窗 口 的 大 小 和 位 置 将 要 被 改 变 时 , 来 调 用
setwindowpos 函数或其它窗口管理函数
WM_WINDOWPOSCHANG
ED
发 送 此 消 息 给 那 个 窗 口 的 大 小 和 位 置 已 经 被 改 变 时 , 来 调 用
setwindowpos 函数或其它窗口管理函数
WM_POWER
当系统将要进入暂停状态时发送此消息
WM_COPYDATA
当一个应用程序传递数据给另一个应用程序时发送此消息
WM_CANCELJOURNA
当某个用户取消程序日志激活状态,提交此消息给程序
WM_NOTIFY
当某个控件的某个事件已经发生或这个控件需要得到一些信息时,发送
此消息给它的父窗口
WM_INPUTLANGCHANGE
REQUEST
当用户选择某种输入语言,或输入语言的热键改变
WM_INPUTLANGCHANGE
当平台现场已经被改变后发送此消息给受影响的最顶级窗口
3
WM_TCARD
当程序已经初始化 windows 帮助例程时发送此消息给应用程序
WM_HELP
此消息显示用户按下了 F1,如果某个菜单是激活的,就发送此消息个
此窗口关联的菜单,否则就发送给有焦点的窗口,如果当前都没有焦点,
就把此消息发送给当前激活的窗口
WM_USERCHANGED
当用户已经登入或退出后发送此消息给所有的窗口,当用户登入或退出
时系统更新用户的具体设置信息,在用户更新设置时系统马上发送此消
息
WM_NOTIFYFORMAT
公用控件,自定义控件和他们的父窗口通过此消息来判断控件是使用
ANSI 还是 UNICODE 结构
WM_CONTEXTMENU
当用户某个窗口中点击了一下右键就发送此消息给这个窗口
WM_STYLECHANGING
当调用 SETWINDOWLONG 函数将要改变一个或多个窗口的风格时发
送此消息给那个窗口
WM_STYLECHANGED
当调用 SETWINDOWLONG 函数一个或多个窗口的风格后发送此消息
给那个窗口
WM_DISPLAYCHANGE
当显示器的分辨率改变后发送此消息给所有的窗口
WM_GETICON
此消息发送给某个窗口来返回与某个窗口有关连的大图标或小图标的
句柄
WM_SETICON
程序发送此消息让一个新的大图标或小图标与某个窗口关联
WM_NCCREATE
当某个窗口第一次被创建时,此消息在 WM_CREATE 消息发送前发送
WM_NCDESTROY
此消息通知某个窗口,非客户区正在销毁
WM_NCCALCSIZE
当某个窗口的客户区域必须被核算时发送此消息
WM_NCHITTEST
移动鼠标,按住或释放鼠标时发生
WM_NCPAINT
程序发送此消息给某个窗口当它(窗口)的框架必须被绘制时
WM_NCACTIVATE
此消息发送给某个窗口仅当它的非客户区需要被改变来显示是激活还
是非激活状态
WM_GETDLGCODE
发送此消息给某个与对话框程序关联的控件,widdows 控制方位键和
TAB 键使输入进入此控件通过应
WM_NCMOUSEMOVE
当光标在一个窗口的非客户区内移动时发送此消息给这个窗口非客户
区为:窗体的标题栏及窗的边框体
WM_NCLBUTTONDOWN
当光标在一个窗口的非客户区同时按下鼠标左键时提交此消息
WM_NCLBUTTONUP
当用户释放鼠标左键同时光标某个窗口在非客户区十发送此消息
WM_NCLBUTTONDBLCL
K
当用户双击鼠标左键同时光标某个窗口在非客户区十发送此消息
WM_NCRBUTTONDOWN
当用户按下鼠标右键同时光标又在窗口的非客户区时发送此消息
WM_NCRBUTTONUP
当用户释放鼠标右键同时光标又在窗口的非客户区时发送此消息
WM_NCRBUTTONDBLCL
K
当用户双击鼠标右键同时光标某个窗口在非客户区十发送此消息
WM_NCMBUTTONDOWN
当用户按下鼠标中键同时光标又在窗口的非客户区时发送此消息
WM_NCMBUTTONUP
当用户释放鼠标中键同时光标又在窗口的非客户区时发送此消息
WM_NCMBUTTONDBLCL
K
当用户双击鼠标中键同时光标又在窗口的非客户区时发送此消息
WM_KEYFIRST
WM_KEYDOWN
按下一个键
WM_KEYUP
释放一个键
WM_CHAR
按下某键,并已发出 WM_KEYDOWN,WM_KEYUP 消息
剩余13页未读,继续阅读
资源评论
sungwz
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- 文件批量改名神器10.0一款简单易用的批量文件重命名工具(已注册PRO版本).rar
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功