首页 > 代码库 > PB各对象常用事件
PB各对象常用事件
1.window中的事件
事件名 触发的时机
01.Activate 在窗口激活之前触发
02.Clicked 当用户用鼠标单击窗口的空白区域(没有控件的区域)时触发
03.Close 当关闭窗口时触发
04.CloseQuery 当清除或关闭窗口时触发。然后检查Message.ReturnValue的值,若为1,则窗口不能关闭
05.Deactivate 当窗口变为非活动状态时触发
06.DoubleClicked 当用户双击窗口的空白区域时触发
07.DragDrop 当一个可拖动的控件被拖动到窗口上时触发
08.DragEnter 当一个可拖动的控件进入窗口时触发
09.DragLeave 当一个可拖动的控件离开窗口时触发
10.DragWithin 当一个可拖动的控件在窗口内部拖动时触发
11.Hide 在窗口被隐藏时触发
12.HotLinkAlarm 在DDE中服务器应用已经发送了新的数据,客户DDE应用已经接收到这些数据时触发
13.Key 当用户击了一个键且插入点不在RichTextEdit编辑控件或数据窗口控件时触发
14.MouseDown 当用户在窗口的空白区域按下鼠标左键时触发
15.MouseMove 当鼠标在窗口内移动时触发
16.MouseUp 当用户在窗口的空白区域释放鼠标左键时触发
17.Open 当程序调用以此窗口为参数的Open函数时,此事件在该窗口打开之后,显示之前触发
18.Help .........
19.Other 当一个非PowerBuilder事件的Windows信息发生时触发
20.RButtonDown 在窗口的空白区域单击鼠标右键时触发
21.RemoteExec 当一个DDE客户应用发送了一个命令时触发
22.RemoteHotLinkStart 当一个DDE客户应用开始一个热连接时触发
23.RemoteHotLinkStop 当一个DDE客户应用结束一个热连接时触发
24.RemoteRequest 当一个DDE客户应用请求数据时触发
25.RemoteSend 当一个DDE客户应用已经发送了数据时触发
26.Resize 当用户或程序打开或重设窗口大小时触发
27.Show 当程序运行此窗口的show函数时,此事件在窗口显示之前触发
28.SystemKey 当插入点不在某个行编辑中且用户按了ALT或ALT加其它键时触发
29.Timer 在调用Timer函数后,经过了Timer函数指定的时间后触发
30.ToolBarMoved 当MDI窗口的工具条移动时触发
以上是我新建一个window是window的事件原来的顺序,
下面是我自己常用的排序:
01.window打开时发生的事件
事件名 触发的时机
Activate 在窗口激活之前触发
Resize 当用户或程序打开或重设窗口大小时触发
Open 当程序调用以此窗口为参数的Open函数时,此事件在该窗口打开之后,显示之前触发
Show 当程序运行此窗口的show函数时,此事件在窗口显示之前触发
02.window关闭时发生的事件
Deactivate 当窗口变为非活动状态时触发
CloseQuery 当清除或关闭窗口时触发。然后检查Message.ReturnValue的值,若为1,则窗口不能关闭
Close 当关闭窗口时触发
03.关于鼠标击键事件
Clicked 当用户用鼠标单击窗口的空白区域(没有控件的区域)时触发
DoubleClicked 当用户双击窗口的空白区域时触发
MouseDown 当用户在窗口的空白区域按下鼠标左键时触发
MouseMove 当鼠标在窗口内移动时触发
MouseUp 当用户在窗口的空白区域释放鼠标左键时触发、
RButtonDown 在窗口的空白区域单击鼠标右键时触发
注:当按下鼠标左键时,MouseDown事件触发,当释放鼠标左键时,Clicked事件和MouseUp事件触发
04.计时触发
Timer 在调用Timer函数后,经过了Timer函数指定的时间后触发
05.托动触发
DragDrop 当一个可拖动的控件被拖动到窗口上时触发
DragEnter 当一个可拖动的控件进入窗口时触发
DragLeave 当一个可拖动的控件离开窗口时触发
DragWithin 当一个可拖动的控件在窗口内部拖动时触发
06.菜单及菜单工具栏移动是触发
ToolBarMoved 当MDI窗口的工具条移动时触发
07.其它不常用的(指的是我自己)
Hide 在窗口被隐藏时触发
HotLinkAlarm 在DDE中服务器应用已经发送了新的数据,客户DDE应用已经接收到这些数据时触发
RemoteExec 当一个DDE客户应用发送了一个命令时触发
RemoteHotLinkStart 当一个DDE客户应用开始一个热连接时触发
RemoteHotLinkStop 当一个DDE客户应用结束一个热连接时触发
RemoteRequest 当一个DDE客户应用请求数据时触发
RemoteSend 当一个DDE客户应用已经发送了数据时触发
Key 当用户击了一个键且插入点不在RichTextEdit编辑控件或数据窗口控件时触发
Help .........
Other 当一个非PowerBuilder事件的Windows信息发生时触发
SystemKey 当插入点不在某个行编辑中且用户按了ALT或ALT加其它键时触发
-----------------------------------------------------------------------
在window上的能应用的控件非常多
但是控件的事件有一部分是相同的
2.窗口上控件的公共事件
事件名 触发的时机
Clicked 当单击窗口或控件时触发
Constructor 在窗口中的open事件发生之前触发
Destructor 在窗口中的close事件发生之后触发
GetFocus 在此控件得到焦点上时触发
LoseFocus 在此控件失去焦点时触发
DragDrop 当一个可拖动的控件被拖动到窗口或控件上时触发
DragEnter 当一个可拖动的控件进入窗口或控件上时触发
DragLeave 当一个可拖动的控件离开窗口或控件时触发
DragWithin 当一个可拖动的控件在窗口或控件内部时触发
RbuttonDown 在控件区域内单击鼠标右键时触发
Other 当一个非PowerBuilder事件的Windows信息发生时触发
-------------------------------------------------------------------------
3.datawindow上的事件,按照顺序(除开公用事件)
事件名称 事件触发的时机
01.ButtonClicking 在数据窗口中的按钮对象正在被单击时触发
02.ButtonClicked 在数据窗口中的按钮对象被单击后触发
03.DbError 当数据窗口中发生了数据库错误时触发
04.DoubleClicked 当用户双击数据窗口控件时触发;对于RichText风格的数据窗口,当双击数据窗口中的文本时触发
05.EditChanged 当光标进入数据窗口对象中的一个字段时触发
06.Error 当数据窗口数据表达式或属性表达式中发现错误时触发
07.ItemChanged 当数据窗口上的区域被修改并且失去了焦点(如用户按回车键、Tab键或箭头键,或者用鼠标选另一个区域)时触发
08.ItemError 当一个域被修改并且失去焦点,且域不符合列上的合法性规则时触发
09.ItemFocusChanged 当焦点改变时触发
10.PrintStart 当数据窗口打印开始时触发
11.PrintEnd 当数据窗口打印结束时触发
12.PrintPage 在数据窗口的每一页设置打印格式之前触发
13.Resize 当用户或程序重设窗口大小时触发
14.RetrieveStart 当数据窗口检索将要开始时触发
15.RetrieveEnd 当数据窗口的检索完成时触发
16.RetrieveRow 在一行数据被检索出来之后触发
17.RowFocusChanging 当数据窗口当前行正在改变时触发
18.RowFocusChanged 当数据窗口当前行改变之后触发
19.ScrollHorizontal 当用户用Tab键、箭头键或滚动条左右滚动数据窗口控件时触发
20.ScrollVertical 当用户用Tab键、箭头键或滚动条上下滚数据窗口控件时触发
21.SqlPreview 在调用Retrieve、Update或Selectrow函数时,SQL语句提交到DBMS之前触发
22.UpdateStart 恰在调用Update函数之后,数据窗口中的改变发送到数据库之前触发
23.UpdateEnd 当所有从数据窗口到数据库的修改完成时触发
说一下我个人常用的几种事件
01.数据窗口字段输入的时候触发的事件
EditChanged 当光标进入数据窗口对象中的一个字段时触发
ItemChanged 当数据窗口上的区域被修改并且失去了焦点(如用户按回车键、Tab键或箭头键,或者用鼠标选另一个区域)时触发
ItemFocusChanged 当焦点改变时触发
ItemError 当一个域被修改并且失去焦点,且域不符合列上的合法性规则时触发
如果EditChanged,ItemChanged,ItemFocusChanged这三个事件报错促发ItemError
如果在ItemChanged事件中设置了行为/返回代码1,则DataWindow控件拒绝接受数据且不允许焦点发生变化
02.鼠标单双击数据窗口按钮
ButtonClicking 在数据窗口中的按钮对象正在被单击时触发
ButtonClicked 在数据窗口中的按钮对象被单击后触发
eg:
choose case dwo.name
case ‘cb_name‘
//动作......
case .......
end choose
03.数据窗口检索前后触发的事件
RetrieveStart 当数据窗口检索将要开始时触发
RetrieveEnd 当数据窗口的检索完成时触发
RetrieveRow 在一行数据被检索出来之后触发
在RetrieveStart事件中设置了行为/返回代码2,在检索数据之前不要重置行,也就是上次retrieve的数据会被保留下来
04.打印前后
PrintStart 当数据窗口打印开始时触发
PrintEnd 当数据窗口打印结束时触发
PrintPage 在数据窗口的每一页设置打印格式之前触发
05.其它的我自己不常用,就不多说了
------------------------------------------------------------------
4.单行编辑器控件、编辑掩码控件、多行编辑控件的事件
这三个控件有相同的事件,都有公共事件中除了Clicked事件之外的10种事件,另外还有Modify事件
Modify事件在控件的文本被改变之后,用户按了回车键或Tab键,或用鼠标把焦点改变到另一个控件上时触发
---------------------------------------------------------------------
5.超文本编辑控件的事件
事件名称 触发的时机
01.FileExists 当该控件的内容保存到一个已存在的文件时触发
02.InputFieldSelected 当选定输入域后双击或按下回车键时触发
03.key 当按下一个键时触发
04.Modify 当该控件中的内容第一次改变,但还没有保存时触发
05.MouseDown 当按下鼠标左键时触发
06.MouseMove 当鼠标在该控件中移动时触发
07.MouseUp 当放开鼠标左键时触发
08.PictureSelected 当选定位图后双击或按下回车键时触发
09.PrintFooter 当打印该控件内容的页脚时触发
10.PrintHeader 当打印该控件内容的页眉时触发
11.RbuttonUp 当在该控件中放开鼠标右键时触发
---------------------------------------------------------------------
6.滚动条事件
左右滚动条事件名称 事件触发时机
LineLeft 当点中了控件的左箭头时触发
LineRight 当点中了控件的右箭头时触发
PageLeft 当点中了控件的左部的开放空间时触发
PageRight 当点中了控件的右部的开放空间时触发
Moved 当控件的滚动钮被移动时触发
上下滚动条事件名称 事件触发时机
LineDown 当点中了控件的下箭头时触发
LineUp 当点中了控件的上箭头时触发
PageDown 当点中了控件的下部的开放空间时触发
PageUp 当点中了控件的上部的开放空间时触发
Moved 当控件的滚动钮被移动时触发
----------------------------------------------------------------------
7.列表框控件的事件
PowerBuilder提供了四个列表框控件:列表框、图片列表框、下拉列表框和下拉图片列表框。
它们都有公共事件中除了Clicked事件之外的10种事件。
此外,下拉列表框和下拉图片列表框还有DoubleClicked事件、Modify事件和SelectionChanged事件。
列表框、图片列表框还有DoubleClicked事件和SelectionChanged事件。
------------------------------------------------------------------------
8.树状浏览控件的事件
事件名称 事件触发时机
01.BeginDrag 按下鼠标左键开始拖动时触发
02.BeginLabelEdit 编辑TreeView选中的项标签时触发
03.BeginRightDrag 按下鼠标右键开始拖动时触发
04.DeleteItem TreeView项被删除时触发
05.DoubleClicked 双击鼠标左键时触发
06.EndLabelEdit 对TreeView的项标签结束编辑时触发
07.ItemCollapsed 当TreeView控件收缩完成时触发
08.ItemCollapsing 当TreeView控件收缩开始时触发
09.ItemExpanded 当TreeView控件展开后触发
10.ItemExpanding 当TreeView控件展开之前触发
11.ItemPopulate 当TreeView控件第一次展开时触发
12.RightClicked 按下鼠标右键时触发
13.RightDoubleClicked 在控件中双击鼠标右键时触发
14.SelectionChanged TreeView项目被选中后触发
15.SelectionChanging TreeView当前项目改变之前触发
16.Sort 两个项目为排序进行比较时触发
-------------------------------------------------------------------------------
9.列表浏览控件的事件
事件名称 事件触发时机
01.BeginDrag 按下鼠标左键开始拖动时触发
02.BeginLabelEdit 编辑ListView选中的项标签时触发
03.BeginRightDrag 按下鼠标右键开始拖动时触发
04.ColumnClicked 在控件中鼠标左键单击列标题时触发
05.DeleteAllItems 所有项被删除时触发
06.DeleteItem ListView项被删除时触发
07.DoubleClicked 双击鼠标左键时触发
08.EndLabelEdit 对ListView的项标签结束编辑时触发
09.InsertItem 为ListView插入项时触发
10.ItemChanged 控件中当前项目改变后触发
11.ItemChanging 控件中当前项目改变前触发
12.key 用户按下键时触发
13.RightClicked 按下鼠标右键时触发
14.RightDoubleClicked 在控件中双击鼠标右键时触发
15.Sort 两个项目为排序进行比较时触发
----------------------------------------------------------------------------------
10.Tab页控件的事件
事件名称 事件触发时机
01.DoubleClicked 双击鼠标左键时触发
02.Key 用户按下键时触发
03.RightClicked 按下鼠标右键时触发
04.RightDoubleClicked 在控件中双击鼠标右键时触发
05.SelectionChanging Tab控件当前页改变之前触发
06.SelectionChanged Tab控件当前页改变后触发
-----------------------------------------------------------------------------------
11.OLE控件的事件
事件名称 事件触发时机
01.Close 当OLE控件的服务器关闭时触发
02.Datachange 服务器应用数据改变时触发
03.DoubleClicked 在控件内双击鼠标左键时触发
04.Error 当OLE控件操作出现错误时触发
05.ExternalException OLE服务器自动执行处理以外的操作时触发
06.PropertyChanged OLE控件改变对象后触发
07.PropertyRequestEdit OLE控件改变对象时触发
08.Rename 当服务器中对象改名时触发
09.Save 服务器写数据时触发
10.ViewChange 服务器进行预览时触发
-------------------------------------------------------------------------------------
12.菜单事件
菜单对象的事件比较简单,只有两个Clicked事件和Selected事件。
Clicked事件:在某菜单上单击鼠标左键时触发。
Selected事件:光标移入菜单条时触发。
--------------------------------------------------------------------------------------
13.用户自定义事件
这种东东目前正在研究,太多了,慢慢来
转资料一份
PB中自定义事件ID含义
Event ID 含义内容浅析,
单选或多选按钮消息(前缀:pbm_bm)
pbm_bmgetcheck 单选按钮或多选按钮是否被选。
pbm_bmgetstate 按钮是否加亮。
pbm_bmsetcheck 将无线按钮或确认框的选中状态改为未选中状态,反之亦然。
pbm_bmsetstate 加亮或不加亮按钮。
pbm_bmchange 改变按钮的风格,例如,改为单选按钮或组合框。
单选或多选按钮通知消息(前缀:pbm_bn)
pbm_bnclicked 按钮控件被点中。
pbm_bndisable 使按钮控件无效。
pbm_bndoubleclicked 按钮控件被双点。
pbm_bndragdrop 一个对象被放到按钮控件。
pbm_bndragenter 一个对象被拖到按钮控件。
pbm_bndragleave 一个对象被拖离按钮控件。
pbm_bndragover 一个对象被拖经按钮控件。
pbm_bnhilite 按钮控件被加亮。
pbm_bnpaint 按钮控件被绘制。
pbm_bnsetfocus 按钮控件获得聚焦。
pbm_bnunhilite 按钮控件不被加亮。
通用对话框消息(前缀:pbm_cb)
pbm_cbaddstring 将字符串加到通用对话框。
pbm_cbdeletestring 从通用对话框删除一个字符串。
pbm_cbdir 加一个目录列表到通用对话框。
pbm_cbfindstring 搜索以一组字符开头的字符串。
pbm_cbfindstringexact 搜索与所提供的字符完全匹配的字符串。
pbm_cbgetcount 列表框中的项数。
pbm_cbgetcursel 当前被选项的数目。
pbm_cbgetdroppedcontrolset 列表框在屏幕上的坐标位置。
pbm_cbgeteditsel 编辑器控件中被选字符的范围。
pbm_cbgetextendedui 缺省或扩展的用户界面。
pbm_cbgetitemdata 重画的列表框中的4字节(32位)项。
pbm_cbgetitemheight 列表框中某一项的高度。
pbm_cbgetlbtext 列表框中的文本。
pbm_cbgetlbtextlen 列表框中文本的长度。
pbm_cbinsertstring 向列表框中增加新的字符串或4字节项。
pbm_cblimittext 限制能被输入到列表框中的字符数。
pbm_cbresetcontent 删除列表框中所有元素。
pbm_cbselectstring 搜索匹配的字符串并显示。
pbm_cbsetcursel 在列表框中选择并显示一项。
pbm_cbseteditsel 在列表框的编辑区域中选择一块文本。
pbm_cbsetextendedui 设置缺省或扩展的用户界面。
pbm_cbsetitemdata 在列表框中设定4字节(32位)项。
pbm_cbsetitemheight 设置列表框中项的高度。
pbm_cbshowdropdown 转换(显示或隐藏)列表框中拖放区域。
通用对话框通知消息(前缀:pbm_cbn)
pbm_cbndblclk 用户在列表中某一项上双点。
pbm_cbndragdrop 一个对象被放到通用对话框控件上。
pbm_cbndragenter 一个对象被拖到通用对话框控件上。
pbm_cbndragleave 一个对象被拖离通用对话框控件。
pbm_cbndragover 一个对象被拖经通用对话框控件。
pbm_cbndropdown 列表框的下放区域即将被显示。
pbm_cbneditchange 编辑器控件中的文本发生变化。
pbm_cbneditupdate 列表框编辑器控件中的文本即将被改变。
pbm_cbnerrspace 列表框满,不能再向其中加入项。
pbm_cbnkillfocus 通用列表框失去聚焦。
pbm_cbnselchange 列表框中被选文本被改变。
pbm_cbnselendcancel 用户按下了"取消"按钮。
pbm_cbnselendok 用户按下了"确认"按钮。
pbm_cbnsetfocus 通用对话控件拥有聚焦。
数据窗口消息(前缀:pbm_dw)
pbm_dwclosedropdown 关闭下拉式数据窗口。
pbm_dwscrollend 在数据窗口中卷滚到最后一行。
pbm_dwscrollhome 在数据窗口中卷滚到第一行。
pbm_dwscrolllineend 卷滚到当前行的行尾(水平方向)。
pbm_dwscrolllinehome 卷滚到当前行的行首(水平方向)。
数据窗口通知消息(前缀:pbm_dwn)
pbm_dwnbacktabout 即将通过Shift+Tab组合键离开该控件。
pbm_dwnchanging 控件即将被改变。
pbm_dwndropdown 下拉式列表框的下拉部分即将可见。
pbm_dwngraphcreate 即将创建图形。
pbm_dwnitemchangefocus 数据窗口控件中当前项的聚焦改变。
pbm_dwnitemvalidationerror 对当前项的修改引起了一个合法性检查错误。
pbm_dwnkey 有键被按下。使用KeyDown()处理键盘值。
pbm_dwnlbuttondown 鼠标左键被按下。
pbm_dwnlbuttonup 鼠标左键被松开。
pbm_dwnmbuttonclk 鼠标中键点击。
pbm_dwnmbuttondbclk 鼠标中键双击。
pbm_dwnmousemove 鼠标移动。
pbm_dwnprintmarginchange 打印边界被改变。
pbm_dwnprocessenter 回车键被按下。
pbm_dwnrowchange 数据窗口中聚焦从一行转向另一行。
pbm_dwntabdownout 用户在数据窗口最后一行按了下箭头键。
pbm_dwntabout 用户在数据窗口的最后一行/列中按了tab键。
pbm_dwntabupout 用户在数据窗口第一行中按了上箭头键。
动态数据交换(DDE)消息(前缀:pbm_dde)
pbm_ddeddeack 收到一个DDE消息。
pbm_ddeddeinitiate 开始一个DDE会话。
pbm_ddeddeterminate 终止一个DDE会话。
编辑器控件消息(前缀:pbm_em)
pbm_emcanundo 编辑器控件是否能撤消上一次修改。
pbm_ememptyundobuffer 清空由Windows管理的取消操作的缓冲区。
pbm_emfmtlines 在多行编辑器控件的行尾增加或删除回车换行。
pbm_emgetfirstvisibleline 返回编辑器控件中可见的第一行的行号。
pbm_emgethandle 获得编辑器控件使用的内存句柄。
pbm_emgetline 从编辑器控件中复制一行到内存中的一个缓冲区。
pbm_emgetlinecount 返回多行编辑器控件的行数。
pbm_emgetmodify 文本是否被用户修改。
pbm_emgetrect 返回控件的长方形域。
pbm_emgetsel 返回被选文本的起始位置。
pbm_emlimittext 限制用户键入的文本长度。
pbm_emlinefromchar 返回被选文本的行号。
pbm_emlineindex 返回编辑器控件中被选行第一个字符在编辑串中的位置。
pbm_emlinelength 返回编辑器控件中被选行中的字符数。
pbm_emlinescroll 水平或垂直卷滚编辑器控件。
pbm_emreplacesel 从剪贴板或从键盘上用新文本替换被选文本。
pbm_emsethandle 设置编辑器控件的句柄指向内存中的一个缓冲区。
pbm_emsetmodify 设置编辑器控件的modified标志。
pbm_emsetpasswordchar 设置用户输入任何文本时显示的字符,在输入密码时的显示。
pbm_emsetrect 设置/重置编辑器控件所在的长方形区域,编辑器控件中的文本被重画。
pbm_emsetrectnp 除了不重画文本,大致与setrect相同。
pbm_emsetsel 选择字符。
pbm_emsettabstops 在多行编辑器控件中设置tabstops。
pbm_emsetwordbreak 设置新的词拆分函数。
pbm_emsetwordbreakproc 设置新的词拆分过程。
pbm_emundo 撤消最近的编辑操作。
编辑控件通知消息(前缀:pbm_en)
pbm_enchange 编辑器控件中的文本发生改变。
pbm_enerrspace 编辑器控件内存缓冲区溢出。
pbm_enhscroll 用户点中上水平卷滚条。
pbm_enmaxtext 用户试图输入比允许更多的文本。
pbm_enupdate 编辑器控件即将显示用户的修改。
pbm_envscroll 用户点中了垂直卷滚条。
列表框消息(前缀:pbm_lb)
pbm_lbaddstring 向列表框控件中增加一项或一个字符串。
pbm_lbdeletestring 从列表框中删除一项或一个字符串。
pbm_lbdir 用目录列表填充列表框。
pbm_lbfindstring 在列表框中搜索与所给字符串部分匹配的第一项。
pbm_lbfindstringexact 在列表框中搜索与所给字符串精确匹配的第一项。
pbm_lbgetcaretindex 在列表框中搜索拥有聚焦的项。
pbm_lbgetcount 确定列表框中的项数。
pbm_lbgetcursel 确定所选项是第几项。
pbm_lbgethorizontalextent 获得列表框的宽度、计算水平卷滚。
pbm_lbgetitemheight 确定列表框控件中项的高度。
pbm_lbgetitemrect 确定列表框的尺寸。
pbm_lbgetsel 获得列表框中当前所选的项。
pbm_lbgetselcount 在多选列表框中获得所选项的数目。
pbm_lbgetselitems 用列表框中表框各自的项号填充一个给定的整数数组。
pbm_lbgettext 获得列表框中当前所选项的文本。
pbm_lbgettextlen 获得列表框中当前所选项的文本中的字符数。
pbm_lbgettopindex 确定列表框中可见的最上面一项的项号。
pbm_lbinsertstring 向列表框中加入一个新字符串。
pbm_lbresetcontent 重置(消除)列表框中的内容。
pbm_lbselectstring 搜索并加亮与所给字符匹配的字符串。
pbm_lbselitemrange 选择/取消列表框中某一范围中的项。
pbm_lbsetcaretindex 设置列表框中的某一项拥有聚焦。
pbm_lbsetcolumnwidth 设置列表框中列的宽度。
pbm_lbsetcursel 在列表框中选择并加亮一项;如果需要,卷滚到列表框。
pbm_lbsethorizontaltext 设置列表框中被水平卷滚的单元数。
pbm_lbsetitemdata 设置与列表框相关的32位/4字节值。
pbm_lbsetitemheight 设置列表框中项的高度。
pbm_lbsetsel 在列表框中选择一个字符串。
pbm_lbsettabstops 设置列表框控件中tabstops的位置。
pbm_lbsettopindex 卷滚列表框使特定的项成为可见的最上面一项。
列表框通知消息(前缀:pbm_en)
pbm_endblclk 用户在列表框控件中的某一项上双击。
pbm_enerrspace 用户试图超越可在列表框中输入字符的最大限制。
pbm_enselcancel 当前选取文本被取消。
pbm_enselchange 用户在列表框中选择或取消了一项。
窗口消息(前缀:pbm_)
pbm_activateapp 被激活的窗口属于另外一个应用。
pbm_askcbformatname 要求剪贴板中的内容被复制到一个使用自定义格式的文本缓冲区中。
pbm_char 传送键盘上按下的键。
pbm_chartoitem 通过转换键盘来的字符,帮助列表框定位其中的项。
pbm_childactivate 一个子窗口被移动或激活。
pbm_clear 用户要删除当前编辑器控件中的内容。
pbm_command 用户选择了一个菜单项、控件,或使用了加速键。
pbm_compacting 系统内存资源不足;当Windows占用了多于1/8的CPU时间紧缩内存时,产生这条消息。
pbm_compareitem 当新的一项被加入列表框或组合框时产生此消息,Window用这条消息进行项之间的比较。
pbm_ctlcolor 一个控件即将被画出,可在此时改变控件的颜色。
pbm_deadchar 用户选择了一种非英语字符集或其它特殊字符集,这将改变下面将要输入的字符。
pbm_deleteitem 从列表框或通用对话框中移去一项。
pbm_destroyclipboard 剪贴板内容被清除。
pbm_devmodechanged WIN.INI中的一个设备名被修改。
pbm_drawclipboard 剪贴板内容发生改变。
pbm_drawitem 列表框或通用对话框的一项内容被改变。
pbm_dropfiles 当鼠标左键在一个注册为拖放文件接受器的应用上释放时,发出该消息。
pbm_erasebkgnd 窗口的客户区需要重画。
pbm_fontchange 应用可用的字体数改变。
pbm_getdlgcode 通知消息,说明当前使用哪种类型的键盘。
pbm_getfont 获取当前激活的字体。
pbm_getminmaxinto Windows正在检查最小化或最大化窗口的尺寸。
pbm_gettext 从一个控件(如按钮或编辑器控件)中复制文本到一个内存缓冲区。
pbm_gettextlength 用来确定一个控件中的字符数。
pbm_hscrollclipboard 剪贴板的水平卷滚条被使用。
pbm_iconerasebkgnd 一个最小化窗口需要重化背景。
pbm_initdialog 一个对话框即将被显示。
pbm_initmenu 一个菜单即将被显示。
pbm_initmenupopup 一个弹出式窗口即将被显示。
pbm_keydown 键盘上的一个键被按下。
pbm_keyup 键盘上的一个键被释放。
pbm_mdiactive 一个MDI子窗口(表单)被激活。
pbm_mdicascade 以重叠的形式重排所有的表单。
pbm_mdicreate 创建一个表单。
pbm_mdidestroy 从MDI框架中移去一个表单。
pbm_mdigetactive 获得当前活动的MDI表单的句柄。
pbm_mdiiconrange 在一个MDI框架中重排最小化表单的图标。
pbm_mdimaximize 最大化一个MDI子表单。
pbm_mdinext 激活下一个MDI表单(紧接着活动表单的表单)。
pbm_mdirestore 把MDI表单恢复到它原来的大小。
pbm_mdisetmenu 将一个菜单与一个MDI表单联系起来。
pbm_mdifitle 平铺所有的MDI表单。
pbm_measureitem 这个消息被送给即将创建的、内有按钮或其它控件的窗口。
pbm_menuchar 用户使用了一个快捷键,但系统不支持该快捷键。
pbm_menuselect 用户选择了一个菜单项。
pbm_mouseactivate 用户在一个非活动窗口中点击了鼠标。
pbm_mousemove 用户移动了鼠标。
pbm_ncactivate 窗口的非客户区即将被激活。
pbm_nccalcsize 窗口的尺寸需要重新计算。
pbm_nccreate 窗口即将创建它的非客户区。
pbm_ncdestroy 窗口的非共享区被析构。
pbm_nchittest 每次非客户区被移动时都发送该消息。
pbm_nclbuttondblclk 用户在非客户区双点了鼠标左键。
pbm_ncpaint 非客户需要画出。
pbm_nextdlgctl 在对话框中将聚焦转给另一个控件。
pbm_paint 窗口的客户区需要被画出。
pbm_paintclipboard 剪贴板应用有剪贴操作,剪贴板查看器需重画。
pbm_palettechanged 系统调色板被改变。
pbm_paletteischanging 系统调色板即将被改变。
pbm_parentnotify 通知父窗口一个子窗口即将被创建。
pbm_querydragicon 用户要拖一个最小化窗口。
pbm_queryendsession 通知消息,说明窗口即将被关闭。
pbm_querynewpalette 应用即将收到输入聚焦,应该执行必要的颜色调整。
pbm_queryopen 一个最小化窗口即将被恢复。
pbm_quit 应用处理的最后一个消息。
pbm_renderallformats 通知一个剪贴板格式的拥有者,应用将失去所有的格式。
pbm_renderformats 通知消息,说明放在剪贴板中的数据应该用一种特殊格式传送。
pbm_setcursor 通知消息,说明鼠标指针在一个窗口中移动。
pbm_setfont 用来在对话框中改变字体。
pbm_setredraw 在加一个新项之前发送给列表框或通用对话框。
pbm_settext 用来改变窗口的标题或文本。
pbm_sizeclipboard 剪贴板查看器应用改变尺寸。
pbm_spoolerstatus 一个打印管理器任务被添加或删除。
pbm_syschar 键和其它某键同时被按下。
pbm_syscolorchange 一种或多种系统颜色被改变。
pbm_syscommand 用户选择了一个系统菜单命令。
pbm_sysdeadchar 通知消息,说明一种非英语字符集被选定。
pbm_syskeydown 用户按下某键的同时按下了键。
pbm_syskeyup 用户释放了组合键。
pbm_timechange 系统时钟被修改。
pbm_undo 从undo缓冲区复制文本到编辑器控件。
pbm_vkeytoitem 当一个列表框拥有聚焦时,用户按下了一个键。
pbm_vscroll 用户点击了垂直卷滚条。
pbm_vscrollclipboard 剪贴板查看器的垂直卷滚条被点击。
pbm_windowposchanged 窗口位置发生改变。
pbm_windowposchanging 窗口位置即将发生改变。
pbm_wininichange WIN.INI文件被修改。
1.window中的事件
事件名 触发的时机
01.Activate 在窗口激活之前触发
02.Clicked 当用户用鼠标单击窗口的空白区域(没有控件的区域)时触发
03.Close 当关闭窗口时触发
04.CloseQuery 当清除或关闭窗口时触发。然后检查Message.ReturnValue的值,若为1,则窗口不能关闭
05.Deactivate 当窗口变为非活动状态时触发
06.DoubleClicked 当用户双击窗口的空白区域时触发
07.DragDrop 当一个可拖动的控件被拖动到窗口上时触发
08.DragEnter 当一个可拖动的控件进入窗口时触发
09.DragLeave 当一个可拖动的控件离开窗口时触发
10.DragWithin 当一个可拖动的控件在窗口内部拖动时触发
11.Hide 在窗口被隐藏时触发
12.HotLinkAlarm 在DDE中服务器应用已经发送了新的数据,客户DDE应用已经接收到这些数据时触发
13.Key 当用户击了一个键且插入点不在RichTextEdit编辑控件或数据窗口控件时触发
14.MouseDown 当用户在窗口的空白区域按下鼠标左键时触发
15.MouseMove 当鼠标在窗口内移动时触发
16.MouseUp 当用户在窗口的空白区域释放鼠标左键时触发
17.Open 当程序调用以此窗口为参数的Open函数时,此事件在该窗口打开之后,显示之前触发
18.Help .........
19.Other 当一个非PowerBuilder事件的Windows信息发生时触发
20.RButtonDown 在窗口的空白区域单击鼠标右键时触发
21.RemoteExec 当一个DDE客户应用发送了一个命令时触发
22.RemoteHotLinkStart 当一个DDE客户应用开始一个热连接时触发
23.RemoteHotLinkStop 当一个DDE客户应用结束一个热连接时触发
24.RemoteRequest 当一个DDE客户应用请求数据时触发
25.RemoteSend 当一个DDE客户应用已经发送了数据时触发
26.Resize 当用户或程序打开或重设窗口大小时触发
27.Show 当程序运行此窗口的show函数时,此事件在窗口显示之前触发
28.SystemKey 当插入点不在某个行编辑中且用户按了ALT或ALT加其它键时触发
29.Timer 在调用Timer函数后,经过了Timer函数指定的时间后触发
30.ToolBarMoved 当MDI窗口的工具条移动时触发
以上是我新建一个window是window的事件原来的顺序,
下面是我自己常用的排序:
01.window打开时发生的事件
事件名 触发的时机
Activate 在窗口激活之前触发
Resize 当用户或程序打开或重设窗口大小时触发
Open 当程序调用以此窗口为参数的Open函数时,此事件在该窗口打开之后,显示之前触发
Show 当程序运行此窗口的show函数时,此事件在窗口显示之前触发
02.window关闭时发生的事件
Deactivate 当窗口变为非活动状态时触发
CloseQuery 当清除或关闭窗口时触发。然后检查Message.ReturnValue的值,若为1,则窗口不能关闭
Close 当关闭窗口时触发
03.关于鼠标击键事件
Clicked 当用户用鼠标单击窗口的空白区域(没有控件的区域)时触发
DoubleClicked 当用户双击窗口的空白区域时触发
MouseDown 当用户在窗口的空白区域按下鼠标左键时触发
MouseMove 当鼠标在窗口内移动时触发
MouseUp 当用户在窗口的空白区域释放鼠标左键时触发、
RButtonDown 在窗口的空白区域单击鼠标右键时触发
注:当按下鼠标左键时,MouseDown事件触发,当释放鼠标左键时,Clicked事件和MouseUp事件触发
04.计时触发
Timer 在调用Timer函数后,经过了Timer函数指定的时间后触发
05.托动触发
DragDrop 当一个可拖动的控件被拖动到窗口上时触发
DragEnter 当一个可拖动的控件进入窗口时触发
DragLeave 当一个可拖动的控件离开窗口时触发
DragWithin 当一个可拖动的控件在窗口内部拖动时触发
06.菜单及菜单工具栏移动是触发
ToolBarMoved 当MDI窗口的工具条移动时触发
07.其它不常用的(指的是我自己)
Hide 在窗口被隐藏时触发
HotLinkAlarm 在DDE中服务器应用已经发送了新的数据,客户DDE应用已经接收到这些数据时触发
RemoteExec 当一个DDE客户应用发送了一个命令时触发
RemoteHotLinkStart 当一个DDE客户应用开始一个热连接时触发
RemoteHotLinkStop 当一个DDE客户应用结束一个热连接时触发
RemoteRequest 当一个DDE客户应用请求数据时触发
RemoteSend 当一个DDE客户应用已经发送了数据时触发
Key 当用户击了一个键且插入点不在RichTextEdit编辑控件或数据窗口控件时触发
Help .........
Other 当一个非PowerBuilder事件的Windows信息发生时触发
SystemKey 当插入点不在某个行编辑中且用户按了ALT或ALT加其它键时触发
-----------------------------------------------------------------------
在window上的能应用的控件非常多
但是控件的事件有一部分是相同的
2.窗口上控件的公共事件
事件名 触发的时机
Clicked 当单击窗口或控件时触发
Constructor 在窗口中的open事件发生之前触发
Destructor 在窗口中的close事件发生之后触发
GetFocus 在此控件得到焦点上时触发
LoseFocus 在此控件失去焦点时触发
DragDrop 当一个可拖动的控件被拖动到窗口或控件上时触发
DragEnter 当一个可拖动的控件进入窗口或控件上时触发
DragLeave 当一个可拖动的控件离开窗口或控件时触发
DragWithin 当一个可拖动的控件在窗口或控件内部时触发
RbuttonDown 在控件区域内单击鼠标右键时触发
Other 当一个非PowerBuilder事件的Windows信息发生时触发
-------------------------------------------------------------------------
3.datawindow上的事件,按照顺序(除开公用事件)
事件名称 事件触发的时机
01.ButtonClicking 在数据窗口中的按钮对象正在被单击时触发
02.ButtonClicked 在数据窗口中的按钮对象被单击后触发
03.DbError 当数据窗口中发生了数据库错误时触发
04.DoubleClicked 当用户双击数据窗口控件时触发;对于RichText风格的数据窗口,当双击数据窗口中的文本时触发
05.EditChanged 当光标进入数据窗口对象中的一个字段时触发
06.Error 当数据窗口数据表达式或属性表达式中发现错误时触发
07.ItemChanged 当数据窗口上的区域被修改并且失去了焦点(如用户按回车键、Tab键或箭头键,或者用鼠标选另一个区域)时触发
08.ItemError 当一个域被修改并且失去焦点,且域不符合列上的合法性规则时触发
09.ItemFocusChanged 当焦点改变时触发
10.PrintStart 当数据窗口打印开始时触发
11.PrintEnd 当数据窗口打印结束时触发
12.PrintPage 在数据窗口的每一页设置打印格式之前触发
13.Resize 当用户或程序重设窗口大小时触发
14.RetrieveStart 当数据窗口检索将要开始时触发
15.RetrieveEnd 当数据窗口的检索完成时触发
16.RetrieveRow 在一行数据被检索出来之后触发
17.RowFocusChanging 当数据窗口当前行正在改变时触发
18.RowFocusChanged 当数据窗口当前行改变之后触发
19.ScrollHorizontal 当用户用Tab键、箭头键或滚动条左右滚动数据窗口控件时触发
20.ScrollVertical 当用户用Tab键、箭头键或滚动条上下滚数据窗口控件时触发
21.SqlPreview 在调用Retrieve、Update或Selectrow函数时,SQL语句提交到DBMS之前触发
22.UpdateStart 恰在调用Update函数之后,数据窗口中的改变发送到数据库之前触发
23.UpdateEnd 当所有从数据窗口到数据库的修改完成时触发
说一下我个人常用的几种事件
01.数据窗口字段输入的时候触发的事件
EditChanged 当光标进入数据窗口对象中的一个字段时触发
ItemChanged 当数据窗口上的区域被修改并且失去了焦点(如用户按回车键、Tab键或箭头键,或者用鼠标选另一个区域)时触发
ItemFocusChanged 当焦点改变时触发
ItemError 当一个域被修改并且失去焦点,且域不符合列上的合法性规则时触发
如果EditChanged,ItemChanged,ItemFocusChanged这三个事件报错促发ItemError
如果在ItemChanged事件中设置了行为/返回代码1,则DataWindow控件拒绝接受数据且不允许焦点发生变化
02.鼠标单双击数据窗口按钮
ButtonClicking 在数据窗口中的按钮对象正在被单击时触发
ButtonClicked 在数据窗口中的按钮对象被单击后触发
eg:
choose case dwo.name
case ‘cb_name‘
//动作......
case .......
end choose
03.数据窗口检索前后触发的事件
RetrieveStart 当数据窗口检索将要开始时触发
RetrieveEnd 当数据窗口的检索完成时触发
RetrieveRow 在一行数据被检索出来之后触发
在RetrieveStart事件中设置了行为/返回代码2,在检索数据之前不要重置行,也就是上次retrieve的数据会被保留下来
04.打印前后
PrintStart 当数据窗口打印开始时触发
PrintEnd 当数据窗口打印结束时触发
PrintPage 在数据窗口的每一页设置打印格式之前触发
05.其它的我自己不常用,就不多说了
------------------------------------------------------------------
4.单行编辑器控件、编辑掩码控件、多行编辑控件的事件
这三个控件有相同的事件,都有公共事件中除了Clicked事件之外的10种事件,另外还有Modify事件
Modify事件在控件的文本被改变之后,用户按了回车键或Tab键,或用鼠标把焦点改变到另一个控件上时触发
---------------------------------------------------------------------
5.超文本编辑控件的事件
事件名称 触发的时机
01.FileExists 当该控件的内容保存到一个已存在的文件时触发
02.InputFieldSelected 当选定输入域后双击或按下回车键时触发
03.key 当按下一个键时触发
04.Modify 当该控件中的内容第一次改变,但还没有保存时触发
05.MouseDown 当按下鼠标左键时触发
06.MouseMove 当鼠标在该控件中移动时触发
07.MouseUp 当放开鼠标左键时触发
08.PictureSelected 当选定位图后双击或按下回车键时触发
09.PrintFooter 当打印该控件内容的页脚时触发
10.PrintHeader 当打印该控件内容的页眉时触发
11.RbuttonUp 当在该控件中放开鼠标右键时触发
---------------------------------------------------------------------
6.滚动条事件
左右滚动条事件名称 事件触发时机
LineLeft 当点中了控件的左箭头时触发
LineRight 当点中了控件的右箭头时触发
PageLeft 当点中了控件的左部的开放空间时触发
PageRight 当点中了控件的右部的开放空间时触发
Moved 当控件的滚动钮被移动时触发
上下滚动条事件名称 事件触发时机
LineDown 当点中了控件的下箭头时触发
LineUp 当点中了控件的上箭头时触发
PageDown 当点中了控件的下部的开放空间时触发
PageUp 当点中了控件的上部的开放空间时触发
Moved 当控件的滚动钮被移动时触发
----------------------------------------------------------------------
7.列表框控件的事件
PowerBuilder提供了四个列表框控件:列表框、图片列表框、下拉列表框和下拉图片列表框。
它们都有公共事件中除了Clicked事件之外的10种事件。
此外,下拉列表框和下拉图片列表框还有DoubleClicked事件、Modify事件和SelectionChanged事件。
列表框、图片列表框还有DoubleClicked事件和SelectionChanged事件。
------------------------------------------------------------------------
8.树状浏览控件的事件
事件名称 事件触发时机
01.BeginDrag 按下鼠标左键开始拖动时触发
02.BeginLabelEdit 编辑TreeView选中的项标签时触发
03.BeginRightDrag 按下鼠标右键开始拖动时触发
04.DeleteItem TreeView项被删除时触发
05.DoubleClicked 双击鼠标左键时触发
06.EndLabelEdit 对TreeView的项标签结束编辑时触发
07.ItemCollapsed 当TreeView控件收缩完成时触发
08.ItemCollapsing 当TreeView控件收缩开始时触发
09.ItemExpanded 当TreeView控件展开后触发
10.ItemExpanding 当TreeView控件展开之前触发
11.ItemPopulate 当TreeView控件第一次展开时触发
12.RightClicked 按下鼠标右键时触发
13.RightDoubleClicked 在控件中双击鼠标右键时触发
14.SelectionChanged TreeView项目被选中后触发
15.SelectionChanging TreeView当前项目改变之前触发
16.Sort 两个项目为排序进行比较时触发
-------------------------------------------------------------------------------
9.列表浏览控件的事件
事件名称 事件触发时机
01.BeginDrag 按下鼠标左键开始拖动时触发
02.BeginLabelEdit 编辑ListView选中的项标签时触发
03.BeginRightDrag 按下鼠标右键开始拖动时触发
04.ColumnClicked 在控件中鼠标左键单击列标题时触发
05.DeleteAllItems 所有项被删除时触发
06.DeleteItem ListView项被删除时触发
07.DoubleClicked 双击鼠标左键时触发
08.EndLabelEdit 对ListView的项标签结束编辑时触发
09.InsertItem 为ListView插入项时触发
10.ItemChanged 控件中当前项目改变后触发
11.ItemChanging 控件中当前项目改变前触发
12.key 用户按下键时触发
13.RightClicked 按下鼠标右键时触发
14.RightDoubleClicked 在控件中双击鼠标右键时触发
15.Sort 两个项目为排序进行比较时触发
----------------------------------------------------------------------------------
10.Tab页控件的事件
事件名称 事件触发时机
01.DoubleClicked 双击鼠标左键时触发
02.Key 用户按下键时触发
03.RightClicked 按下鼠标右键时触发
04.RightDoubleClicked 在控件中双击鼠标右键时触发
05.SelectionChanging Tab控件当前页改变之前触发
06.SelectionChanged Tab控件当前页改变后触发
-----------------------------------------------------------------------------------
11.OLE控件的事件
事件名称 事件触发时机
01.Close 当OLE控件的服务器关闭时触发
02.Datachange 服务器应用数据改变时触发
03.DoubleClicked 在控件内双击鼠标左键时触发
04.Error 当OLE控件操作出现错误时触发
05.ExternalException OLE服务器自动执行处理以外的操作时触发
06.PropertyChanged OLE控件改变对象后触发
07.PropertyRequestEdit OLE控件改变对象时触发
08.Rename 当服务器中对象改名时触发
09.Save 服务器写数据时触发
10.ViewChange 服务器进行预览时触发
-------------------------------------------------------------------------------------
12.菜单事件
菜单对象的事件比较简单,只有两个Clicked事件和Selected事件。
Clicked事件:在某菜单上单击鼠标左键时触发。
Selected事件:光标移入菜单条时触发。
--------------------------------------------------------------------------------------
13.用户自定义事件
这种东东目前正在研究,太多了,慢慢来
转资料一份
PB中自定义事件ID含义
Event ID 含义内容浅析,
单选或多选按钮消息(前缀:pbm_bm)
pbm_bmgetcheck 单选按钮或多选按钮是否被选。
pbm_bmgetstate 按钮是否加亮。
pbm_bmsetcheck 将无线按钮或确认框的选中状态改为未选中状态,反之亦然。
pbm_bmsetstate 加亮或不加亮按钮。
pbm_bmchange 改变按钮的风格,例如,改为单选按钮或组合框。
单选或多选按钮通知消息(前缀:pbm_bn)
pbm_bnclicked 按钮控件被点中。
pbm_bndisable 使按钮控件无效。
pbm_bndoubleclicked 按钮控件被双点。
pbm_bndragdrop 一个对象被放到按钮控件。
pbm_bndragenter 一个对象被拖到按钮控件。
pbm_bndragleave 一个对象被拖离按钮控件。
pbm_bndragover 一个对象被拖经按钮控件。
pbm_bnhilite 按钮控件被加亮。
pbm_bnpaint 按钮控件被绘制。
pbm_bnsetfocus 按钮控件获得聚焦。
pbm_bnunhilite 按钮控件不被加亮。
通用对话框消息(前缀:pbm_cb)
pbm_cbaddstring 将字符串加到通用对话框。
pbm_cbdeletestring 从通用对话框删除一个字符串。
pbm_cbdir 加一个目录列表到通用对话框。
pbm_cbfindstring 搜索以一组字符开头的字符串。
pbm_cbfindstringexact 搜索与所提供的字符完全匹配的字符串。
pbm_cbgetcount 列表框中的项数。
pbm_cbgetcursel 当前被选项的数目。
pbm_cbgetdroppedcontrolset 列表框在屏幕上的坐标位置。
pbm_cbgeteditsel 编辑器控件中被选字符的范围。
pbm_cbgetextendedui 缺省或扩展的用户界面。
pbm_cbgetitemdata 重画的列表框中的4字节(32位)项。
pbm_cbgetitemheight 列表框中某一项的高度。
pbm_cbgetlbtext 列表框中的文本。
pbm_cbgetlbtextlen 列表框中文本的长度。
pbm_cbinsertstring 向列表框中增加新的字符串或4字节项。
pbm_cblimittext 限制能被输入到列表框中的字符数。
pbm_cbresetcontent 删除列表框中所有元素。
pbm_cbselectstring 搜索匹配的字符串并显示。
pbm_cbsetcursel 在列表框中选择并显示一项。
pbm_cbseteditsel 在列表框的编辑区域中选择一块文本。
pbm_cbsetextendedui 设置缺省或扩展的用户界面。
pbm_cbsetitemdata 在列表框中设定4字节(32位)项。
pbm_cbsetitemheight 设置列表框中项的高度。
pbm_cbshowdropdown 转换(显示或隐藏)列表框中拖放区域。
通用对话框通知消息(前缀:pbm_cbn)
pbm_cbndblclk 用户在列表中某一项上双点。
pbm_cbndragdrop 一个对象被放到通用对话框控件上。
pbm_cbndragenter 一个对象被拖到通用对话框控件上。
pbm_cbndragleave 一个对象被拖离通用对话框控件。
pbm_cbndragover 一个对象被拖经通用对话框控件。
pbm_cbndropdown 列表框的下放区域即将被显示。
pbm_cbneditchange 编辑器控件中的文本发生变化。
pbm_cbneditupdate 列表框编辑器控件中的文本即将被改变。
pbm_cbnerrspace 列表框满,不能再向其中加入项。
pbm_cbnkillfocus 通用列表框失去聚焦。
pbm_cbnselchange 列表框中被选文本被改变。
pbm_cbnselendcancel 用户按下了"取消"按钮。
pbm_cbnselendok 用户按下了"确认"按钮。
pbm_cbnsetfocus 通用对话控件拥有聚焦。
数据窗口消息(前缀:pbm_dw)
pbm_dwclosedropdown 关闭下拉式数据窗口。
pbm_dwscrollend 在数据窗口中卷滚到最后一行。
pbm_dwscrollhome 在数据窗口中卷滚到第一行。
pbm_dwscrolllineend 卷滚到当前行的行尾(水平方向)。
pbm_dwscrolllinehome 卷滚到当前行的行首(水平方向)。
数据窗口通知消息(前缀:pbm_dwn)
pbm_dwnbacktabout 即将通过Shift+Tab组合键离开该控件。
pbm_dwnchanging 控件即将被改变。
pbm_dwndropdown 下拉式列表框的下拉部分即将可见。
pbm_dwngraphcreate 即将创建图形。
pbm_dwnitemchangefocus 数据窗口控件中当前项的聚焦改变。
pbm_dwnitemvalidationerror 对当前项的修改引起了一个合法性检查错误。
pbm_dwnkey 有键被按下。使用KeyDown()处理键盘值。
pbm_dwnlbuttondown 鼠标左键被按下。
pbm_dwnlbuttonup 鼠标左键被松开。
pbm_dwnmbuttonclk 鼠标中键点击。
pbm_dwnmbuttondbclk 鼠标中键双击。
pbm_dwnmousemove 鼠标移动。
pbm_dwnprintmarginchange 打印边界被改变。
pbm_dwnprocessenter 回车键被按下。
pbm_dwnrowchange 数据窗口中聚焦从一行转向另一行。
pbm_dwntabdownout 用户在数据窗口最后一行按了下箭头键。
pbm_dwntabout 用户在数据窗口的最后一行/列中按了tab键。
pbm_dwntabupout 用户在数据窗口第一行中按了上箭头键。
动态数据交换(DDE)消息(前缀:pbm_dde)
pbm_ddeddeack 收到一个DDE消息。
pbm_ddeddeinitiate 开始一个DDE会话。
pbm_ddeddeterminate 终止一个DDE会话。
编辑器控件消息(前缀:pbm_em)
pbm_emcanundo 编辑器控件是否能撤消上一次修改。
pbm_ememptyundobuffer 清空由Windows管理的取消操作的缓冲区。
pbm_emfmtlines 在多行编辑器控件的行尾增加或删除回车换行。
pbm_emgetfirstvisibleline 返回编辑器控件中可见的第一行的行号。
pbm_emgethandle 获得编辑器控件使用的内存句柄。
pbm_emgetline 从编辑器控件中复制一行到内存中的一个缓冲区。
pbm_emgetlinecount 返回多行编辑器控件的行数。
pbm_emgetmodify 文本是否被用户修改。
pbm_emgetrect 返回控件的长方形域。
pbm_emgetsel 返回被选文本的起始位置。
pbm_emlimittext 限制用户键入的文本长度。
pbm_emlinefromchar 返回被选文本的行号。
pbm_emlineindex 返回编辑器控件中被选行第一个字符在编辑串中的位置。
pbm_emlinelength 返回编辑器控件中被选行中的字符数。
pbm_emlinescroll 水平或垂直卷滚编辑器控件。
pbm_emreplacesel 从剪贴板或从键盘上用新文本替换被选文本。
pbm_emsethandle 设置编辑器控件的句柄指向内存中的一个缓冲区。
pbm_emsetmodify 设置编辑器控件的modified标志。
pbm_emsetpasswordchar 设置用户输入任何文本时显示的字符,在输入密码时的显示。
pbm_emsetrect 设置/重置编辑器控件所在的长方形区域,编辑器控件中的文本被重画。
pbm_emsetrectnp 除了不重画文本,大致与setrect相同。
pbm_emsetsel 选择字符。
pbm_emsettabstops 在多行编辑器控件中设置tabstops。
pbm_emsetwordbreak 设置新的词拆分函数。
pbm_emsetwordbreakproc 设置新的词拆分过程。
pbm_emundo 撤消最近的编辑操作。
编辑控件通知消息(前缀:pbm_en)
pbm_enchange 编辑器控件中的文本发生改变。
pbm_enerrspace 编辑器控件内存缓冲区溢出。
pbm_enhscroll 用户点中上水平卷滚条。
pbm_enmaxtext 用户试图输入比允许更多的文本。
pbm_enupdate 编辑器控件即将显示用户的修改。
pbm_envscroll 用户点中了垂直卷滚条。
列表框消息(前缀:pbm_lb)
pbm_lbaddstring 向列表框控件中增加一项或一个字符串。
pbm_lbdeletestring 从列表框中删除一项或一个字符串。
pbm_lbdir 用目录列表填充列表框。
pbm_lbfindstring 在列表框中搜索与所给字符串部分匹配的第一项。
pbm_lbfindstringexact 在列表框中搜索与所给字符串精确匹配的第一项。
pbm_lbgetcaretindex 在列表框中搜索拥有聚焦的项。
pbm_lbgetcount 确定列表框中的项数。
pbm_lbgetcursel 确定所选项是第几项。
pbm_lbgethorizontalextent 获得列表框的宽度、计算水平卷滚。
pbm_lbgetitemheight 确定列表框控件中项的高度。
pbm_lbgetitemrect 确定列表框的尺寸。
pbm_lbgetsel 获得列表框中当前所选的项。
pbm_lbgetselcount 在多选列表框中获得所选项的数目。
pbm_lbgetselitems 用列表框中表框各自的项号填充一个给定的整数数组。
pbm_lbgettext 获得列表框中当前所选项的文本。
pbm_lbgettextlen 获得列表框中当前所选项的文本中的字符数。
pbm_lbgettopindex 确定列表框中可见的最上面一项的项号。
pbm_lbinsertstring 向列表框中加入一个新字符串。
pbm_lbresetcontent 重置(消除)列表框中的内容。
pbm_lbselectstring 搜索并加亮与所给字符匹配的字符串。
pbm_lbselitemrange 选择/取消列表框中某一范围中的项。
pbm_lbsetcaretindex 设置列表框中的某一项拥有聚焦。
pbm_lbsetcolumnwidth 设置列表框中列的宽度。
pbm_lbsetcursel 在列表框中选择并加亮一项;如果需要,卷滚到列表框。
pbm_lbsethorizontaltext 设置列表框中被水平卷滚的单元数。
pbm_lbsetitemdata 设置与列表框相关的32位/4字节值。
pbm_lbsetitemheight 设置列表框中项的高度。
pbm_lbsetsel 在列表框中选择一个字符串。
pbm_lbsettabstops 设置列表框控件中tabstops的位置。
pbm_lbsettopindex 卷滚列表框使特定的项成为可见的最上面一项。
列表框通知消息(前缀:pbm_en)
pbm_endblclk 用户在列表框控件中的某一项上双击。
pbm_enerrspace 用户试图超越可在列表框中输入字符的最大限制。
pbm_enselcancel 当前选取文本被取消。
pbm_enselchange 用户在列表框中选择或取消了一项。
窗口消息(前缀:pbm_)
pbm_activateapp 被激活的窗口属于另外一个应用。
pbm_askcbformatname 要求剪贴板中的内容被复制到一个使用自定义格式的文本缓冲区中。
pbm_char 传送键盘上按下的键。
pbm_chartoitem 通过转换键盘来的字符,帮助列表框定位其中的项。
pbm_childactivate 一个子窗口被移动或激活。
pbm_clear 用户要删除当前编辑器控件中的内容。
pbm_command 用户选择了一个菜单项、控件,或使用了加速键。
pbm_compacting 系统内存资源不足;当Windows占用了多于1/8的CPU时间紧缩内存时,产生这条消息。
pbm_compareitem 当新的一项被加入列表框或组合框时产生此消息,Window用这条消息进行项之间的比较。
pbm_ctlcolor 一个控件即将被画出,可在此时改变控件的颜色。
pbm_deadchar 用户选择了一种非英语字符集或其它特殊字符集,这将改变下面将要输入的字符。
pbm_deleteitem 从列表框或通用对话框中移去一项。
pbm_destroyclipboard 剪贴板内容被清除。
pbm_devmodechanged WIN.INI中的一个设备名被修改。
pbm_drawclipboard 剪贴板内容发生改变。
pbm_drawitem 列表框或通用对话框的一项内容被改变。
pbm_dropfiles 当鼠标左键在一个注册为拖放文件接受器的应用上释放时,发出该消息。
pbm_erasebkgnd 窗口的客户区需要重画。
pbm_fontchange 应用可用的字体数改变。
pbm_getdlgcode 通知消息,说明当前使用哪种类型的键盘。
pbm_getfont 获取当前激活的字体。
pbm_getminmaxinto Windows正在检查最小化或最大化窗口的尺寸。
pbm_gettext 从一个控件(如按钮或编辑器控件)中复制文本到一个内存缓冲区。
pbm_gettextlength 用来确定一个控件中的字符数。
pbm_hscrollclipboard 剪贴板的水平卷滚条被使用。
pbm_iconerasebkgnd 一个最小化窗口需要重化背景。
pbm_initdialog 一个对话框即将被显示。
pbm_initmenu 一个菜单即将被显示。
pbm_initmenupopup 一个弹出式窗口即将被显示。
pbm_keydown 键盘上的一个键被按下。
pbm_keyup 键盘上的一个键被释放。
pbm_mdiactive 一个MDI子窗口(表单)被激活。
pbm_mdicascade 以重叠的形式重排所有的表单。
pbm_mdicreate 创建一个表单。
pbm_mdidestroy 从MDI框架中移去一个表单。
pbm_mdigetactive 获得当前活动的MDI表单的句柄。
pbm_mdiiconrange 在一个MDI框架中重排最小化表单的图标。
pbm_mdimaximize 最大化一个MDI子表单。
pbm_mdinext 激活下一个MDI表单(紧接着活动表单的表单)。
pbm_mdirestore 把MDI表单恢复到它原来的大小。
pbm_mdisetmenu 将一个菜单与一个MDI表单联系起来。
pbm_mdifitle 平铺所有的MDI表单。
pbm_measureitem 这个消息被送给即将创建的、内有按钮或其它控件的窗口。
pbm_menuchar 用户使用了一个快捷键,但系统不支持该快捷键。
pbm_menuselect 用户选择了一个菜单项。
pbm_mouseactivate 用户在一个非活动窗口中点击了鼠标。
pbm_mousemove 用户移动了鼠标。
pbm_ncactivate 窗口的非客户区即将被激活。
pbm_nccalcsize 窗口的尺寸需要重新计算。
pbm_nccreate 窗口即将创建它的非客户区。
pbm_ncdestroy 窗口的非共享区被析构。
pbm_nchittest 每次非客户区被移动时都发送该消息。
pbm_nclbuttondblclk 用户在非客户区双点了鼠标左键。
pbm_ncpaint 非客户需要画出。
pbm_nextdlgctl 在对话框中将聚焦转给另一个控件。
pbm_paint 窗口的客户区需要被画出。
pbm_paintclipboard 剪贴板应用有剪贴操作,剪贴板查看器需重画。
pbm_palettechanged 系统调色板被改变。
pbm_paletteischanging 系统调色板即将被改变。
pbm_parentnotify 通知父窗口一个子窗口即将被创建。
pbm_querydragicon 用户要拖一个最小化窗口。
pbm_queryendsession 通知消息,说明窗口即将被关闭。
pbm_querynewpalette 应用即将收到输入聚焦,应该执行必要的颜色调整。
pbm_queryopen 一个最小化窗口即将被恢复。
pbm_quit 应用处理的最后一个消息。
pbm_renderallformats 通知一个剪贴板格式的拥有者,应用将失去所有的格式。
pbm_renderformats 通知消息,说明放在剪贴板中的数据应该用一种特殊格式传送。
pbm_setcursor 通知消息,说明鼠标指针在一个窗口中移动。
pbm_setfont 用来在对话框中改变字体。
pbm_setredraw 在加一个新项之前发送给列表框或通用对话框。
pbm_settext 用来改变窗口的标题或文本。
pbm_sizeclipboard 剪贴板查看器应用改变尺寸。
pbm_spoolerstatus 一个打印管理器任务被添加或删除。
pbm_syschar 键和其它某键同时被按下。
pbm_syscolorchange 一种或多种系统颜色被改变。
pbm_syscommand 用户选择了一个系统菜单命令。
pbm_sysdeadchar 通知消息,说明一种非英语字符集被选定。
pbm_syskeydown 用户按下某键的同时按下了键。
pbm_syskeyup 用户释放了组合键。
pbm_timechange 系统时钟被修改。
pbm_undo 从undo缓冲区复制文本到编辑器控件。
pbm_vkeytoitem 当一个列表框拥有聚焦时,用户按下了一个键。
pbm_vscroll 用户点击了垂直卷滚条。
pbm_vscrollclipboard 剪贴板查看器的垂直卷滚条被点击。
pbm_windowposchanged 窗口位置发生改变。
pbm_windowposchanging 窗口位置即将发生改变。
pbm_wininichange WIN.INI文件被修改。
PB各对象常用事件