pb自定义事件详细
PB教程
POWERBUILDER教程第一章概述1.1特点1.事件驱动在事件驱动方式中,程序的运行没有固定的流程,程序的代码也是为各种可能发生的事件编写,当程序开始运行后,它可以接受来自系统、用户或其他应用程序触发的事件,然后执行事件代码。
建立窗口、控件和其他应用部件时都含有一组预定义的事件。
例如:clicked(单击),用户也可以定义自己的事件。
2.面向对象Windows应用程序中常见的窗口、菜单、控件在powerbuilder中都是一个个对象。
同时,也可以创建自己的用户对象。
每个对象都有自身的特征和行为(属性、事件和函数)。
Powerbuilder提供了基础类库PFC,它为应用程序开发提供了许多可重用的预定义类和对象,利用基本类库PFC可以快速开发高质量、重用好的应用程序。
3.Powerscript语言Powerbuilder中,所有的处理逻辑都是用powerscript语言编写,powerscript是PowerBuilder是专用语言。
4.强大的数据库窗口对象数据窗口对象是PowerBuilder中的一种对象类型,是专门为访问后台的数据库服务的,在数据窗口对象中可以定义数据的来源和数据的显示风格,这样在应用程序就可以把精力完全放在程序的流程控制上,而不用关心具体数据的来源。
如果需要使用数据库中不同的数据,也只要对数据窗口对象进行修改就可以。
5.其他特点支持internet、支持分布式应用、支持多平台、支持大多数关系型数据库(Sybase、MS SQLSERVER、ORACLE等等以及ODBC等其他数据源)等等1.2安装略注:升级至7.0111.3开发环境IDE1 菜单栏图标第一章库文件工具栏图标第二章对象编辑工具栏图标第三章库文件编辑区第四章对象编辑区第五章Datawindow编辑器1.4 预备知识一个PowerBuilder应用程序一般由若干个窗口组成,每个窗口有若干个控件(如按钮、菜单、文本等),每个对象或控件都有若干个事件(如按钮的单击或双击等),每个事件将对应一段程序。
PB数据窗口及事件
Pb数据窗口1、Pb数据窗口介绍(结合实例进行讲解):数据窗口控件对应到数据窗口对象显示数据。
数据窗口对象分为:常用的数据窗口类型:Composite 复合报表数据窗口Crosstab交叉报表数据窗口Freeform 自由模式数据窗口Graph 图形报表数据窗口Grid 网格数据窗口Group 分组数据窗口n-up 多列显示数据窗口分别举例说明各个数据窗口:杏林妙手中的体检报告中保护上述数据窗口类型。
2、数据窗口数据源类型介绍:Quick select、sql select、query、external、stored procedure 分别为:通过单表查询,通过多表查询,通过查询对象,通过自定义的字段,通过存储过程。
3、数据窗口控件常用函数介绍:Setredraw(boolean):设置是否自动刷新报表,true 自动刷新,false不自动刷新。
Describe(string):获取数据窗口指定对象的属性,string为数据窗口表达式。
例如:“t_1.text”等。
Modify(string):设置数据窗口指定对象的属性,和describe配合使用,string为数据窗口表达式。
例如“t_1.text=‟123‟”描述查找相关设置的方法。
Getitemstring(int,string)、Getitemstring(int,int):获取数据窗口指定行的字符串列的值,参数:行号,列名(或列值)。
Setitem (int,string,string)、Setitemstring(int,int,string):设置数据窗口指定行的字符串列的值,参数:行号,列名(或列值),设置值。
(还有获取其他数据类型的类似函数不做赘述!,还可以通过object.列名[行号] 来获取和设置指定行列的值)Deleterow(int):删除行指定行的操作,和循环配合使用的注意事项。
Insertrow(0):插入行,参数0表示在最后一行插入Rowcount():当前数据窗口的行数。
PB中很实用的小技巧
1.RGB函数计算公式: 颜色值= (65536 * Blue) + (256 * Green) + (Red)2.控件可拖动:send(handle(this),274,61458,0)3.如何用程序控制下拉子数据窗口的下拉和收起用modify或者直接用dw_1.object.col1.dddw.showlist = true4.检索参数有些不需要传入则传%.5.如何屏蔽鼠标滚轮触发在控件的other事件写if message.number = 522 then return 16.得到数据窗口的语法:string ls_dwsyntaxls_dwsyntax=dw_1.describe("datawindow.syntax")7.得到数据窗口中各列及标题:long ll_count,istring ls_value,ls_colnamell_colnum = Long(dw_1.object.datawindow.column.count)for i = 1 to ll_colnum//得到标题头的名字ls_colname = dw_1.describe('#' + string(i) + ".name") + "_t"ls_value = dw_1.describe(ls_colname + ".text")next8.在程序中动态设置初始值:ex:dw_contro.object.columnName.initial = 'xxxx'9.如何在DataWindow的SQL语法中不使用SELECT DISTINCT实现删除重复的行---- 起先对你要显示唯一值的列进行排序:"city A",然后增加如下过滤字符串:" city < > city [-1] or GetRow () = 1"10.如何改变列的字体颜色,提醒用户此列已做修改---- 在列的Color属性中,输入如下表达式IF (column_name< >column_name.Original, RGB(255, 0, 0), RGB(0, 0, 0))。
pb报表自定义自定义
pb报表自定义自定义
医舟软件报表自定义操作指南
1.pb的安装
建议使用pb6。
安装使用默认值。
以下为启动项
2.数据库连接
A. 点击上图圈圈处
B. 点new, Name处创建一个实例,server如果是本机库为空,@157表明连接是ip为157尾数的服务器。
Id和密码根据帐套填写,然后apply.
3.新建实例
A.点击第一个红色图标,然后点file-new,指向报表源pbl文件,创建报表实例。
点保存。
B.点击实例的右键,properties
点击libraries,browse,指向报表源文件,全选,打开。
点ok。
C.打开报表
在医舟软件中可以通过报表设置找到合适的接近的报表框架,在框架基础上微调会轻松很多。
同时记住报表名
4.报表修改
以上界面进行报表的拖动和调整。
Sql可以调用yizhou的其他主表结构。
Text窗口可以直接修改显示文字,name中为医舟表字段。
5.文件打包
A. 关掉所有窗口后点第三个project.
b.点new,application
C. 勾选改过的pbl文件,executable name选择实例名,点击红圈内执行提交。
以上蓝色光标处就是打包后的报表文件,后缀为pbd(源文件为pbl).
6.文件覆盖
将该文件覆盖到医舟目录.
点是。
7.如果其他电脑也要使用该报表,点击注册信息
-上载程序,其他电脑重新登录时会自动下载。
8.。
PB的小技巧
PB的小技巧1.如何使DataWindow中的数据只能追加新记录而不能修改。
利用Column 的Protect 属性可以很方便的做到这一点,方法如下:将每一列的Protect 属性设置为:If( IsRowNew(), 0, 1) )在PowerScript 中可以动态修改Protect 属性:dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'")2. 允许从空的非字符字段跳离string ss = this.dwDescribe(this.GetColumnName()+".coltype")//s = this.dwDescribe("#"+String(this.GetColumn())+".coltype")CHOOSE CASE sCASE "number"IF Trim(this.GetText()) = "" THENint null_numSetNull(null_num)this.SetItem(this.GetRow(),this.GetColumn(),null_num)this.SetActionCode(3)END IFCASE "date"IF Trim(this.GetText()) = "" THENdate null_dateSetNull(null_date)this.SetItem(this.GetRow(),this.GetColumn(),null_date)this.SetActionCode(3)END IFCASE "time"IF Trim(this.GetText()) = "" THENtime null_timeSetNull(null_time)this.SetItem(this.GetRow(),this.GetColumn(),null_time)this.SetActionCode(3)END IFCASE "datetime"IF Trim(this.GetText()) = "" THENdate null_datetimeSetNull(null_datetime)this.SetItem(this.GetRow(),this.GetColumn(),null_datetime)this.SetActionCode(3)END IFEND CHOOSE3. 当我们为Datawindow的每一行显示行号时可以简单的放一个表达式为GetRow() -- 计算列。
PowerBuilder实用教程第9章 用户自定义事件
用户事件编程实例
⑯为数据窗口“dw_1”再定义一个用户事件“u_keyarrow”,事件号为“pbm_dwntabdo
在定义用户事件时,可以定义事件参数。但TriggerEvent和PostEvent不能带事件参数(但可以 为Message传送用户消息),因此需用下面的格式触发: object_name. [Trigger | Post] [Static | Dynamic] EVENT event_name( [para_list] )
为实现如图9.5所示的功能,可用自定义事件。 (1)创建一个“student.pbl”,其中 “ApplicationObject”为“stu”,再建一个窗 口“w_uevent”,窗口中的控件分别为 “dw_1”“cb_append”“cb_insert”“cb_d elete”“cb_retrieve”“cb_update”和 “cb_return”。 建立数据窗口对象“d_xs”,将“dw_1”的 “DataObject”属性设为“d_xs”。
PowerBuilder实用教程(第5版)
第9章 用户自定义事件
——用户事件号
用户事件号
PowerBuilder没有提供事件标记的说明手册,但大部分可以从标记名推断其含义。表9.1列出 了部分常用事件标记的前缀及其含义,表9.2列出了部分常用事件标记及其含义。
前 缀 pbm_cb pbm_dw pbm_dde pbm_e 含 义 通用对话框消息 数据窗口 前 缀 pbm_lb pbm_lv 列表框 列表视图(Listview) 树形视图(Treeview) 窗口 含 义
PowerBuilder实用教程(第5版)
第9章 用户自定义事件
——定义用户事件
在下列情况下经常使用用户事件。 (1)解决对象与窗口之间的通信问题。用户事件可以通过参数进行信息传递。 (2)响应特殊操作,这些操作没有相应的PowerBuilder预定义事件。例如,大多数的人都习 惯于在每项数据录入后按【Enter】键,转到下一个输入项。但在Windows环境下,系统都是默认 使用【Tab】键或【Shift+Tab】键转换到下一个数据项或上一个数据项,而用户按【Enter】键, 系统会将焦点转到下一条记录的第一个输入项上。 (3)支持用户通过多种方式完成同一个功能。例如,既允许用户通过单击窗口中的按钮完成, 也允许用户通过选择选单项完成。使用用户事件后,就只需要在一个地方编写代码,在需要使用该 功能的地方触发相应的用户事件就可以了。
《PB程序设计》第9章用户自定义事件
返回本节 录
9.4 触发用户事件
Static和Dynamic选项只能选择一个,缺省时为 Static。Static表示编译时指定事件必须存在,系统 要进行返回值类型检查;Dynamic表示编译时指定事 件可以不存在,系统把返回值类型检查推迟到应用 程序运行时进行。 Event是关键字,表示后面的Event Name是个事 件名而不是函数。Para list是事件的参数,有多个 参数时参数之间用逗号分隔。 如果用户事件定义了参数,只能使用上述格式触 发事件,而不能使用函数TriggerEvent()或 PostEvent()。
返回章目录
9.1用户自定义事件在应用中的作用
在下列情况下经常使用用户事件: (1)解决对象与窗口之间的通信问题。用 户事件可以通过参数进行信息传递。 (2)响应特殊操作。这些操作没有相应的 PowerBuilder预定义事件 (3)支持用户通过多种多样的方式完成同 一个功能
返回本节 录
返回本节 录
9.5 用户自定义事件应用实例
为了测试,我们在表中添加几条记录如图9ˉ12 所示
返回本节 录
9.5 用户自定义事件应用实例
运行程序:单击“显示记录”按钮,结果如图 9ˉ13所示
9.1用户自定义事件在应用中的作用
用户事件在许多地方与用户定义函数十分相似,用 户事件运用的灵活程度很大程度上反映出应用程序 的灵活性和适用性。PowerBuilder开始将事件和函 数同化,统称为方法。事件也可以带输入参数,并 有返回值。有时形式上难以区分事件和函数。不过, 函数一般是由用户调用,在编程时就已决定,而事 件除了可以由用户触发外,还可以由系统触发。大 多数的事件,都是由系统触发的。因此,事件比函 数更为灵活,应用范围更广
PB详细学习笔记
1.当我们在程序中用修改数据库的时候,只要不用commit切程序在运行,我们此时是查看不到数据库中当前操作的数据的,只有commit后,或退出该程序时,才能在数据库中查看到修改后的数据。
a)这是因为修改数据的时候是先有一个缓冲区,此时还没有修改到实际的数据,多以此时没用commit,而用rollback的时候,对缓冲区的修改代码将不被执行;此时就是起到出错数据回滚的操作b)但是,当我们修改了数据没用到commit的时候,而是直接退出程序,此时数据库缓冲区中的修改代码也会被执行,也就是说,只要不用rollback,推车程序时数据也会被更改。
c)所以,当我们某个地方会出错需要数据回滚时,就要在那里进行rollback操作。
2.在数据窗口对象里设置显示值和实际值时,要注意:当输出文档时任然使用的是实际值,显示值值是看的,没有实际意义。
1.在我们第一次装PDM时,装数据库的时候数据库是没有程序的内部用户的,所以一般是建一个空数据库,然后进行初始化,这样数据库就有了2个用户了,然后再将有数据的数据库还原上去,但此时该数据库也是没有用户的,就要给它授权,即映射,此时执行Grant的代码就是映射授权。
a)所以,当没有系统用户时,执行Grant是没有用的。
1.我们在pb中,事件是可以继承的,方法是不能继承的:a)如果子对象中的该方法写了新代码,则调用时是执行新写的代码,如果子对象该方法中什么也没写,则会调用父对象的该方法b)所以,可见继承是可以先执行父的再执行子的,方法是不行的c)这个就叫做多态1.因为标题名字是字段名字加_t,所以,在自定义字段时,设置字段名时不要有“_”.1.一定要注意补丁包升级和数据库升级,补丁包升级是将我们的程序进行升级,而数据库升级是对数据库进行修改操作的升级。
a)二者不是一回事,都要进行操作。
b)我们要区分数据库版本和程序版本,两者要对应才能正常运行。
2.我们调试时用的动态库为PB 文件夹下的动态库,程序运行时用的是Bin目录下的动态库,程序安装时用的也是Bin目录下的动态库,所以要清楚不同环境下的运行要求。
PB动态报表格式自由定义的实现
PB动态报表格式自由定义的实现一、实现原理:PB中的报表其实就相当于是数据窗口。
第一步,动态报表的实现。
通过设置数据窗口对象(dataobject)中文本、列等的Resizeable 和moveable属性为1来实现对象位置的拖动控制,通过数据窗口的Modify函数实现对象值的更改(包括增加和删除)。
第二步,报表格式的保存。
在一个应用当中,数据窗口对象的名称总是唯一的,将每一个数据窗口对象转化成PSR文件存于数据库表中。
在窗口打开时,程序先校验报表格式是否存在。
如果存在,先将报表格式读取出来放在一个临时文件当中,然后设置数据窗口(datawindow)的数据对象(dataobject)为这个报表文件,然后提取数据;如果不存在,直接提取数据即可。
二、实现过程:1、建立一个数据库表用以保存报表格式文件。
表名:dyn_reportDwobject Varchar2(20) 数据窗口对象名称Primary keyRptitle Varchar2(80) 报表的标题名称Memo Long raw 报表格式2、建立一个窗口w_temp。
定义实例变量如下:string is_dwtype,is_dwobject //保存报表中对象的类型及名称控件名称控件含义Dw_print 数据窗口对象Cb_exit 退出按钮Cb_savereport 报表格式保存按钮3、在窗口的OPEN事件中加入如下代码, 校验报表格式是否存在,如果存在读取定义好的报表格式到数据窗口。
blob emp_piclong ll_handlestring ls_dwobject,ls_reportfile,ls_pathls_dwobject = dw_print.dataobject//判断是否存在该数据窗口的报表格式select count(*) into:ll_count from dyn_report where dwobject =:ls_dwobject;if ll_count>0 then//读取报表格式文件到大文本变量selectblob memo into:emp_pic from dyn_report where dwobject =:ls_dwobject;//创建psr临时文件到硬盘ls_reportfile = '\temp7089.psr'll_handle = FileOpen(is_reportfile,StreamMode!,write!,LockWrite!,Replace!)FileWrite(ll_handle,emp_pic)FileClose(ll_handle)dw_print.dataobject = ls_reportfiledw_print.settransobject(sqlca)elseDw_print.settransobject(sqlca)End ifDw_print.retrieve()4、报表格式的保存。
PB事件和自定义事件讲解
create by amu on 2012-08-16----------------------------------------------------------------------------------------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 当清除或关闭窗口时触发。
PB控件说明
[PB]-控件(一)////////////////////////////////命令按钮-CommandButton-cb_1图象按钮-PictureButton-pb_1【事件】◆Clicked控件单击时◆Constructor在窗口的打开事件之前立即触发◆Destructor在窗口的关闭事件之后立即触发◆DragDrop当被拖动对象释放时触发◆DragEnter被拖动对象的中心通过边缘进入时触发◆DragLeave被拖动对象的中心离开时触发◆DragWithin被拖动对象的中心位于其内时触发◆GetFocus在接受焦点之前(在选中并激活之前)触发◆LoseFocus当失去焦点时触发◆Other当非powerbuilder事件消息发生时触发◆RButtonDown鼠标右键按下时触发◆Help【属性】命令按钮有24个属性,图形按钮除了具有和命令按钮完全相同的24个属性外,还有另外5个属性用来设置图形和文字的显示。
▲Visible取值为False时,不显示此按钮▲Enabled取值为False时,按钮为灰色,不可用▲Default取值为True时,表示该按钮是缺省按钮,当用户没有选择控件,按Enter键时触发该按钮的Clicked事件▲Cancel取值为True时,表示当用户单击Esc键时,可以触发按钮的Clicked事件▲FlatStyle////////////////////////////////列表框-listBox图形列表框-pictureListBox【属性】listbox有35个属性,picturelistbox有40个属性,其中35个和listbox完全相同,另外5个用来设定图形的相关属性。
▲Sor ted,指定列表框中的内容是否排序,不管数字还是字符都按照字符处理,按照ASCII大小进行排序▲VscrollBar、HscrollBar,指定当项目纵向或横向显示不下时,是否显示滚动条▲MultiSelect,此属性为True时表示使用鼠标可以直接同时选中多项▲ExtendSelect,也有进行多项同时选择的属性,但选择方法不同于MultiSelect属性,必须配合Ctrl或Shift按钮,当同时指定这两个属性时,ExtendedSelect属性将会屏蔽MultiSelect属性▲DisableNoScroll,此属性为True时,不管是否必须要滚动条,都显示滚动条;为False时只有在项目多,需要显示滚动条时显示滚动条▲ItemPictureIndex[]integer类型的只读数组,使用该数组可以获取每个图片项目的索引。
PB自定义事件
pb中用户自定义事件内容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 <ALT>键和其它某键同时被按下 pbm_syscolorchange 一种或多种系统颜色被改变 pbm_syscommand 用户选择了一个系统菜单命令 pbm_sysdeadchar 通知消息说明一种非英语字符集被选定 pbm_syskeydown 用户按下某键的同时按下了<ALT>键 pbm_syskeyup 用户释放了<ALT>组合键 pbm_timechange 系统时钟被修改 pbm_undo 从undo缓冲区复制文本到编辑器控件 pbm_vkeytoitem 当一个列表框拥有聚焦时,用户按下了一个键 pbm_vscroll 用户点击了垂直卷滚条 pbm_vscrollclipboard 剪贴板查看器的垂直卷滚条被点击 pbm_windowposchanged 窗口位置发生改变 pbm_windowposchanging 窗口位置即将发生改变 pbm_wininichange WIN.INI文件被修改 。
PB-Event事件说明
pbm_ddeddeack 收到一个DDE消息。
pbm_ddeddeinitiate 开始一个DDE会话。
pbm_ddeddeterminate 终止一个DDE会话。
编辑器控件消息(前缀:pbm_em)
pbm_emcanundo 编辑器控件是否能撤消上一次修改。
pbm_lbsetitemdata 设置与列表框相关的32位/4字节值。
pbm_lbsetitemheight 设置列表框中项的高度。
pbm_lbsetsel 在列表框中选择一个字符串。
pbm_lbsettabstops 设置列表框控件中tabstops的位置。
pbm_lbsettopindex 卷滚列表框使特定的项成为可见的最上面一项。
pbm_cbgetextendedui 缺省或扩展的用户界面。
pbm_cbgetitemdata 重画的列表框中的4字节(32位)项。
pbm_cbgetitemheight 列表框中某一项的高度。
pbm_cbgetlbtext 列表框中的文本。
pbm_cbgetlbtextlen 列表框中文本的长度。
pbm_lbgettopindex 确定列表框中可见的最上面一项的项号。
pbm_lbinsertstring 向列表框中加入一个新字符串。
pbm_lbresetcontent 重置(消除)列表框中的内容。
pbm_lbselectstring 搜索并加亮与所给字符匹配的字符串。
pbm_lbselitemrange 选择/取消列表框中某一范围中的项。
pbm_lbdir 用目录列表填充列表框。
pbm_lbfindstring 在列表框中搜索与所给字符串部分匹配的第一项。
PB中自定义事件ID含义
PB中自定義事件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位)项。
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 当清除或关闭窗口时触发。
PB事件和自定义事件
create by amu on 2012-08-16----------------------------------------------------------------------------------------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 当清除或关闭窗口时触发。
pb timer 事件用法
pb timer 事件用法
pb timer 是一个在PowerBuilder(PB)中用于处理定时器事件的结构。
PowerBuilder 是一个用于构建企业级应用程序的开发工具,而定时器是用于在特定的时间间隔后执行代码或事件的一种工具。
1.定义和启动定时器: 在PowerBuilder 中,首先需要在画板(如窗
口或用户对象)上定义一个定时器控件,并为其分配一个唯一的名称。
然后,通过代码设置定时器的间隔时间,并启动它。
2.处理定时器事件: 当定时器间隔时间到达时,PowerBuilder 会自
动触发一个事件。
你可以为这个事件编写代码来执行特定的任务。
这些代码通常包含在PowerScript 脚本中,并在定时器触发时执行。
3.停止和销毁定时器: 当不再需要定时器时,应停止并销毁它以释
放资源。
注意:定时器的名称和事件处理函数名称可以根据你的需求进行自定义。
上述示例中的do_my_timer 是事件处理函数的名称,而my_timer 是定时器的名称。
确保这些名称在你的应用程序中是唯一的,以避免冲突。
PB中用自定义事件实现按回车键代替鼠标
1概述PowerBuilder对于窗口对象和窗口上的各种控件都提供了丰富的标准事件。
但有时应用程序需要截获这些标准事件之外的事件,这就必须定义用户事件。
在定义用户事件时,选择的事件标示应与所在对象吻合,否则不起作用。
定义好后,可以像对象的其他标准事件一样编程和使用。
将详细介绍利用自定义事件实现当焦点落在命令按钮上时,按回车键能代替鼠标。
在数据窗口中,按回车键可以跳到下一个输入项,而不是下一行。
当在最后一行的最后一列按回车键时,将增加一个空行。
在最后一行按向下的箭头键时,也增加一个空行。
2用户事件解析用户事件是用给PB的窗口对象或窗口上的控件对象定义的除标准事件之外的事件。
这些事件可以在适当的情况下被触发,也可以由用户编程进行触发。
在下列情况下经常使用用户事件:(1)窗口与用户对象之间的通信。
窗口和用户对象之间可以通过用户事件进行通信。
(2)按键处理问题。
应用程序需要截获除标准事件之外的操作信息。
比如想对用户在一个静态文本域上的鼠标双击操作进行处理,但是一个静态文本域的标准事件中并没有DoubleClicked事件。
在这种情况下,只能定义用户事件,使该用户事件获得双击的事件标识。
接着用户就能在这个新定义的用户事件内编写代码做相应的处理了。
(3)代码放置的合理性。
比如前面介绍菜单时曾经说过,菜单时一个相当脆弱的对象,尽量不要在它上面放置过多的代码。
如果要对某些菜单项做一些复杂的操作,可以在拥有这个菜单的窗口上定义一个相应的用户事件。
然后只要在该菜单项的Clicked事件中触发窗口相应的用户事件就可以了。
3用户事件的创建事件时从属于某个对象的,因此创建用户事件的工作只能在Windows画板中进行。
首先在Windows画板中选中一个对象,可以是当前打开的窗口对象或窗口上的一个空间对象。
然后选择【Insert】/【Event】命令, PowerBuilder将打开一个名为“Untitled”的窗口,用于创建一个用户事件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
pbm_emlinefromchar 返回被选文本的行号。
pbm_emlineindex 返回编辑器控件中被选行第一个字符在编辑串中的位置。
pbm_emlinelength 返回编辑器控件中被选行中的字符数。
pbm_emlinescroll 水平或垂直卷滚编辑器控件。
pbm_dwscrolllinehome 卷滚到当前行的行首(水平方向)。
数据窗口通知消息(前缀:pbm_dwn)
pbm_dwnbacktabout 即将通过Shift+Tab组合键离开该控件。
pbm_dwnchanging 控件即将被改变。
pbm_dwndropdown 下拉式列表框的下拉部分即将可见。
pbm_dwnprocessenter 回车键被按下。
pbm_dwnrowchange 数据窗口中聚焦从一行转向另一行。
pbm_dwntabdownout 用户在数据窗口最后一行按了下箭头键。
pbm_dwntabout 用户在数据窗口的最后一行/列中按了tab键。
pbm_dwntabupout 用户在数据窗口第一行中按了上箭头键。
列表框通知消息(前缀:pbm_en)
pbm_emreplacesel 从剪贴板或从键盘上用新文本替换被选文本。
pbm_emsethandle 设置编辑器控件的句柄指向内存中的一个缓冲区。
pbm_emsetmodify 设置编辑器控件的modified标志。
pbm_emsetpasswordchar 设置用户输入任何文本时显示的字符,在输入密码时的显示。
pbm_ememptyundobuffer 清空由Windows管理的取消操作的缓冲区。
pbm_emfmtlines 在多行编辑器控件的行尾增加或删除回车换行。
pbm_emgetfirstvisibleline 返回编辑器控件中可见的第一行的行号。
pbm_emgethandle 获得编辑器控件使用的内存句柄。
pbm_lbgetselcount 在多选列表框中获得所选项的数目。
pbm_lbgetselitems 用列表框中表框各自的项号填充一个给定的整数数组。
pbm_lbgettext 获得列表框中当前所选项的文本。
pbm_lbgettextlen 获得列表框中当前所选项的文本中的字符数。
pbm_emsetwordbreakproc 设置新的词拆分过程。
pbm_emundo 撤消最近的编辑操作。
编辑控件通知消息(前缀:pbm_en)
pbm_enchange 编辑器控件中的文本发生改变。
pbm_enerrspace 编辑器控件内存缓冲区溢出。
pbm_enhscroll 用户点中上水平卷滚条。
pbm_emsetrect 设置/重置编辑器控件所在的长方形区域,编辑器控件中的文本被重画。
pbm_emsetrectnp 除了不重画文本,大致与setrect相同。
pbm_emsetsel 选择字符。
pbm_emsettabstops 在多行编辑器控件中设置tabstops。
pbm_emsetwordbreak 设置新的词拆分函数。
pb自定义事件详细解释
单选或多选按钮消息(前缀:pbm_bm)
pbm_bmgetcheck 单选按钮或多选按钮是否被选。
pbm_bmgetstate 按钮是否加亮。
pbm_bmsetcheck 将无线按钮或确认框的选中状态改为未选中状态,反之亦然。
pbm_bmsetstate 加亮或不加亮按钮。
pbm_cbinsertstring 向列表框中增加新的字符串或4字节项。
pbm_cblimittext 限制能被输入到列表框中的字符数。
pbm_cbresetcontent 删除列表框中所有元素。
pbm_cbselectstring 搜索匹配的字符串并显示。
pbm_cbsetcursel 在列表框中选择并显示一项。
pbm_bndragenter 一个对象被拖到按钮控件。
pbm_bndragleave 一个对象被拖离按钮控件。
pbm_bndragover 一个对象被拖经按钮控件。
pbm_bnhilite 按钮控件被加亮。
pbm_bnpaint 按钮控件被绘制。
pbm_bnsetfocus 按钮控件获得聚焦。
pbm_dwnlbuttondown 鼠标左键被按下。
pbm_dwnlbuttonup 鼠标左键被松开。
pbm_dwnmbuttonclk 鼠标中键点击。
pbm_dwnmbuttondbclk 鼠标中键双击。
pbm_dwnmousemove 鼠标移动。
pbm_dwnprintmarginchange 打印边界被改变。
pbm_dwngraphcreate 即将创建图形。
pbm_dwnitemchangefocus 数据窗口控件中当前项的聚焦改变。
pbm_dwnitemvalidationerror 对当前项的修改引起了一个合法性检查错误。
pbm_dwnkey 有键被按下。使用KeyDown()处理键盘值。
pbm_cbgetextendedui 缺省或扩展的用户界面。
pbm_cbgetitemdata 重画的列表框中的4字节(32位)项。
pbm_cbgetitemheight 列表框中某一项的高度。
pbm_cbgetlbtext 列表框中的文本。
pbm_cbgetlbtextlen 列表框中文本的长度。
pbm_enmaxtext 用户试图输入比允许更多的文本。
pbm_enupdate 编辑器控件即将显示用户的修改。
pbm_envscroll 用户点中了垂直卷滚条。
列表框消息(前缀:pbm_lb)
pbm_lbaddstring 向列表框控件中增加一项或一个字符串。
pbm_lbdeletestring 从列表框中删除一项或一个字符串。
pbm_lbdir 用目录列表填充列表框。
pbm_lbfindstring 在列表框中搜索与所给字符串部分匹配的第一项。
pbm_lbfindstringexact 在列表框中搜索与所给字符串精确匹配的第一项。
pbm_lbgetcaretindex 在列表框中搜索拥有聚焦的项。
pbm_lbgetcount 确定列表框中的项数。
pbm_lbsetitemdata 设置与列表框相关的32位/4字节值。
pbm_lbsetitemheight 设置列表框中项的高度。
pbm_lbsetsel 在列表框中选择一个字符串。
pbm_lbsettabstops 设置列表框控件中tabstops的位置。
pbm_lbsettopindex 卷滚列表框使特定的项成为可见的最上面一项。
pbm_cbfindstringexact 搜索与所提供的字符完全匹配的字符串。
pbm_cbgetcount 列表框中的项数。
pbm_cbgetcursel 当前被选项的数目。
pbm_cbgetdroppedcontrolset 列表框在屏幕上的坐标位置。
pbm_cbgeteditsel 编辑器控件中被选字符的范围。
数据窗口消息(前缀:pbm_dw)
pbm_dwclosedropdown 关闭下拉式数据窗口。
pbm_dwscrollend 在数据窗口中卷滚到最后一行。
pbm_dwscrollhome 在数据窗口中卷滚到第一行。
pbm_dwscrolllineend 卷滚到当前行的行尾(水平方向)。
pbm_cbndragover 一个对象被拖经通用对话框控件。
pbm_cbndropdown 列表框的下放区域即将被显示。
pbm_cbneditchange 编辑器控件中的文本发生变化。
pbm_cbneditupdate 列表框编辑器控件中的文本即将被改变。
pbm_cbnerrspace 列表框满,不能再向其中加入项。
pbm_bnunhilite 按钮控件不被加亮。
通用对话框消息(前缀:pbm_cb)
pbm_cbaddstring 将字符串加到通用对话框。
pbm_cbdeletestring 从通用对话框删除一个字符串。
pbm_cbdir 加一个目录列表到通用对话框。
pbm_cbfindstring 搜索以一组字符开头的字符串。
pbm_lbgetcursel 确定所选项是第几项。
pbm_lbgethorizontalextent 获得列表框的宽度、计算水平卷滚。
pbm_lbgetitemheight 确定列表框控件中项的高度。
pbm_lbgetitemrect 确定列表框的尺寸。
pbm_lbgetsel 获得列表框中当前所选的项。
pbm_lbgettopindex 确定列表框中可见的最上面一项的项号。
pbm_lbinsertstring 向列表框中加入一个新字符串。
pbm_lbresetcontent 重置(消除)列表框中的内容。
pbm_lbselectstring 搜索并加亮与所给字符匹配的字符串。
pbm_lbselitemrange 选择/取消列表框中某一范围中的项。
pbm_cbnkillfocus 通用列表框失去聚焦。
pbm_cbnselchange 列表框中被选文本被改变。
pbm_cbnselendcancel 用户按下了"取消"按钮。
pbm_cbnselendok 用户按下了"确认"按钮。