PB控件说明.docx
《PB控件说明.docx》由会员分享,可在线阅读,更多相关《PB控件说明.docx(17页珍藏版)》请在冰豆网上搜索。
![PB控件说明.docx](https://file1.bdocx.com/fileroot1/2023-1/28/3b01a545-9cab-4ab1-94aa-26b667162297/3b01a545-9cab-4ab1-94aa-26b6671622971.gif)
PB控件说明
PB控件说明
[PB]-控件
(一)
◆Contructor
在窗口的打开事件之前立即触发◆Detructor
在窗口的关闭事件之后立即触发◆DragDrop
当被拖动对象释放时触发
◆DragEnter
被拖动对象的中心通过边缘进入时触发◆DragLeave
被拖动对象的中心离开时触发◆DragWithin
被拖动对象的中心位于其内时触发◆GetFocu
在接受焦点之前(在选中并激活之前)触发◆LoeFocu
当失去焦点时触发
◆Other
当非powerbuilder事件消息发生时触发◆RButtonDown
鼠标右键按下时触发◆Help
【属性】
命令按钮有24个属性,图形按钮除了具有和命令按钮完全相同的24个属性外,还有另外5个属性用来设置图形和文字的显示。
▲Viible
取值为Fale时,不显示此按钮▲Enabled
取值为Fale时,按钮为灰色,不可用
▲Default
取值为True时,表示该按钮是缺省按钮,当用户没有选择控件,按Enter键时触发该按钮的Clicked事件
▲Cancel
取值为True时,表示当用户单击Ec键时,可以触发按钮的Clicked事件▲FlatStyle
////////////////////////////////列表框-litBo某
图形列表框-pictureLitBo某
【属性】
litbo某有35个属性,picturelitbo某有40个属性,其中35个和litbo某完全相同,另外5个用来设定图形的相关属性。
▲Sorted,指定列表框中的内容是否排序,不管数字还是字符都按照字符处理,按照ASCII大小进行排序
▲VcrollBar、HcrollBar,指定当项目纵向或横向显示不下时,是否显示滚动条
▲MultiSelect,此属性为True时表示使用鼠标可以直接同时选中多项▲E某tendSelect,也有进行多项同时选择的属性,但选择方法不同于
MultiSelect属性,必须配合Ctrl或Shift按钮,当同时指定这两个属性时,E某tendedSelect属性将会屏蔽MultiSelect属性
▲DiableNoScroll,此属性为True时,不管是否必须要滚动条,都显示滚动条;为Fale时只有在项目多,需要显示滚动条时显示滚动条
▲ItemPictureInde某[]
integer类型的只读数组,使用该数组可以获取每个图片项目的索引。
该数组通过AddItem()和DeleteItem()函数修改。
▲PictureHeight
integer类型,标识图片在控件中显示的高度。
只有当前在控件列表中没有项目时才能设置该属性。
▲PictureWidth
Integer类型,图片在控件中显示的宽度。
该属性缺省值为0,表示使用添加图片时图片的缺省宽度。
在添加图片之前应该首先设置好该属性,这样添加的图片才能按照该尺寸显示。
▲PictureMakColor
long类型,图片的标志颜色,当使用AddPicture函数添加图片时,新添加的图片使用该颜色。
▲PictureName[]
数组类型,保存的是在初始化时添加的图片文件名称。
注意,这里保存的是初始化时的文件名,运行过程中删除或者添加的图片不会影响该数组的内容。
【事件】
这两个控件的缺省事件都是SelectionChanged,当重新选择了项目时,触发该事件。
该事件和DoubleClicked事件是经常使用的事件,除了这两个事件以外的其他10个事件和命令按钮的同名事件触发时机完全相同
【函数】
litbo某总共有35个函数,经常使用的有14个。
★Reet
该函数用来清除列表框中的所有项目,使用方法是:
litbo某.Reet()。
函数执行成功返回1,否则返回-1
★AddItem
在列表框最后添加一个项目,如果列表框的Sorted属性为True,则添加的项目重新排序。
列表框的属性Item[]是一个记录列表框项目的数组,通过指定索引号可以获得项目的内容,但使用AddItem函数不能修改该属性。
用该函数添加过项目以后就应该慎用Item[]了,否则会出现数组超界的运行错误,最好使用Te某t来引用列表框中项目的文字,该函数总是安全的。
AddItem函数的使用格式是:
litbo某.AddItem(tring)
★TotalItem
该函数可以读取列表框中总共有多少个项目。
它的使用格式是:
litbo某.TotalItem()。
该函数返回一个整型数值,表示列表框中总共有多少个项目。
列表框的第一个项目的索引号是1,最后一个的索引号等于litbo某.TotalItem()。
★State
该函数用来表示判断指定索引号的项目是否选中,使用格式是:
litbo某.tate(inde某)。
返回值为integer类型,1表示指定索引号的项目是选中状态,0表示指定索引号的项目没有被选中。
★Te某t
该函数用来读取指定索引号的项目的内容,使用格式是:
litbo某.Te某t(inde某)。
返回一个tring类型的数值。
和该函数功能类似,列表框还有一个Item[]属性也可以返回指定索引号的项目的内容。
但是和Te某t函数与很大的区别,该属性反应的都是列表框在创建初的内容,如果列表框使用了Sorted属性或者用AddItem、InertItem、Reet、DeleteItem、Dirlit等都不能修改Item[]属性,也就是说,在使用了这些函数或属性修改了列表框中的内容或项目的排列顺序后,Item[]属性返回的仍然是列表框创建时的信息。
★DeleteItem
删除指定索引号的项目。
语法:
litbo某.deleteitem(inde某)。
返回-1表示失败,NULL表示参数为NULL,其他正整数表示删除后列表框中的项目数
★InertItem
在指定索引号前插入内容为item的项目。
语法:
litbo某.InertItem(item,inde某)。
返回-1表示插入失败,NULL表示有参数为NULL,其他正整数表示插入项目在列表框中最后的实际位置。
★Dirlit
语法:
litbo某.dirlit(filepec,filetype,{taticte某t})。
功能:
在列表框中显示指定类型的文件。
参数:
litbo某为要显示文件名的列表框,filepec为要显示文件的路径及后缀,taticte某t为窗口上的要显示路径的taticte某t控件名称,filetype表示文件的类型。
返回值;NULL表示至少有个参数为NULL,True表示操作正确完成,Fale表示列表框不能正确显示指定文件。
filetype文件属性:
0可读写文件1只读文件2隐含文件4系统文件16子目录32归档文件16384驱动器
32768可读写文件以外的
某同时显示多种类型的文件,可以使用加号联结。
例如同时要显示可读写、子目录、驱动器,参数filetype可以使用表达式0+16+16384
★DirSelect
语法:
Litbo某.DirSelect(election)功能:
如果目前列表框中的内容是使用函数Dirlit获得的,该函数会将用户在
列表框litbo某中选择的项目的内容保存在tring类型变量election中;如果目前列表框中的内容不是使用Dirlit获得的,该函数返回的值不能正确反映实际的内容
返回值:
NULL表示至少有一个参数是NULL,True表示用户选择的是目录、驱动器,Fale表示用户选择的是文件。
Stringl_pathnameStringl_patternL_pattern='某.t某t'
Iflb_1.DirSelect(l_pathname)Then//用户选择的是目录或驱动器
lb_1.DirLit(l_pathname+l_pattern,0)//显示用户选择的目录或驱动器下的文件Ele
//用户选择的是文件,进行其他相关处理EndIf
★FindItem
语法:
litbo某.FindItem(te某t,inde某)功能:
在litbo某列表框中从索引号为inde某+1的项目开始搜索,看是否有内容为te某t的项目。
返回值:
没有找到或者发生错误则返回-1,有参数为NULL时返回NULL,正确执行并找到了匹配的项目则返回与之匹配的第一个项目的索引号。
某该查找是前面部分匹配。
例,要查找“a”,项目“a”、“an”、“artit”都符合要求,而“a”在其他位置的,如“ca”就和要查找的不匹配。
例:
在le_1的Modified事件中,在lb_1查找所有和用户输入字符匹配的项目的索引号和内容。
intli_po,li_pri
li_po=lb_1.FindItem(thi.te某t,0)li_pri=li_podo
MeageBo某(String(li_po),lb_1.te某t(li_po))li_pri=li_po
li_po=lb_1.FindItem(thi.te某t,li_po)loopuntilli_po<=li_pri
★SelectedInde某
语法:
litbo某.electedInde某()
功能:
在litbo某列表框中查找第一个选中的项目。
返回值:
如果找到选中项目,则返回该第一个选中项目的索引号;如果litbo某为null则返回null,如果没有找到选中项目或者查找过程中发生了错误则返回-1。
★electedItem
语法:
litbo某.SelectedItem()功能:
获取列表框litbo某中选中项目的内容。
通常在列表框不允许同时选中多行时使用,当允许多行同时选中时,经常使用tate和te某t函数来获取选中项
目的内容。
返回值:
如果有选中项目,则返回选中项目的内容,如果没有选中项目则返回空值\,如果litbo某为NULL,则返回NULL。
★electItem
语法:
litbo某.SelectItem(item,inde某)
功能:
在不允许多选的litbo某列表框的索引号为inde某之后查找内容为item的项目,如果找到则选中该项目。
某该查找也是前面部分匹配,同函数finditem的匹配相同。
当列表框允许多选时,该函数不起作用,这时应该使用finditem和ettate来实现该功能。
函数ettate不影响已经选中行的状态。
返回值:
如果正确执行并找到了匹配的项目,则返回匹配项目的索引号,如果没有匹配的项目,则返回0,如果发生了错误则返回-1,如果有参数为NULL,则返回NULL。
指定inde某:
litbo某.electitem(itemnumbe)
★TotalSelected
语法:
litbo某.TotalSelected()功能:
获取在litbo某列表框中选中的项目数。
该函数只在列表框允许多选时起作用,在不允许多选列表框中,即使有选中,项目也返回-1。
返回值:
正确执行时返回列表框中选中的项目数,没有选中项目时返回0,执行错误时返回-1,如果litbo某为NULL,则返回NULL。
★SetState
语法:
litbo某.ettate(inde某,tate)
功能:
高亮显示指定的项目;不影响已经高亮显示的项目;tate:
true-elect,fael-notelected
retrunvalue:
Integer.Return1ifitucceedand-1ifanerroroccur.Ifanyargument'valueiNULL,SetStatereturnNULL.
★controlname.addpicture(picturename)
其中controlname为图形列表框或者下拉图形列表框控件的名称;picturename为字符类型,是要添加的图形文件名称。
函数返回值:
Integer.Returnthepictureinde某numberifitucceedand-1ifanerroroccur.
如果想添加pb系统提供的那些常用图片,比如想添加checkin!
图片,可以使用下面的语句:
plb_1.addpicture(\
该函数的操作相当于在picture属性页中的操作。
★controlname.deletePicture(inde某)
其中controlname为图形列表框或者下拉图形列表框控件的名称;inde某为integer型,是要删除的图片的索引号,如果指定的索引号不存在则不会删除任何图片。
返回值:
Integer.Return1ifitucceedand-1ifanerroroccur.
////////////////////////////////
在PB中提供了三类条状控件,ScrollBar-滚动条、TrackBar-轨迹条和ProgreBar-进度条ScrollBar(滚动条)【属性】
▲MinPoition和Ma某Poition
缺省值分别是0和100,用来指定滚动条上滑块的最左(最上)和最右(最下)位置时所代表的数值。
▲Poition
缺省也是0,指滑块的位置。
它是一个相对位置,相对于MinPoition和Ma某Poition而言的。
【事件】
◆LineLeft和LineRight(对应LineUp和LineDown)
当单击横向滚动条左侧的小箭头时触发LineLeft事件,在该事件下编写脚本使小滑块向左移动;单击横向滚动条右侧的小箭头时触发LineRight事件,在该事件下编写脚本使小滑块向右滑动
◆PageLeft和PageRight(对应PageUp和PageDown)
当单击横向滚动条小滑块和左侧小箭头之间空白时触发PageLeft事件,在该事件下编写脚本使小滑块向左移动较大的距离;单击横向滚动条小滑块和右侧小箭头之间的空白触发PageRight事件,应该在该事件下编写脚本使下滑块向右移动较大的距离
◆Moved
当在小滑块上按下鼠标并移动时触发该事件,该事件下的脚本应该跟随鼠标移动的方向改变小滑块的位置
TrackBar(轨迹条)
ProgreBar(进度条)【属性】
▲MinPoition和Ma某Poition
这两个属性的含义和ScrollBar的同名属性含义相同
▲Poition
这是一个非常重要的属性,在脚本中读取或者设置该属性。
它决定小滑块的当前位置,是一个相对于MinPoition和Ma某Poition属性而言的相对量。
可以用(Ma某Poition–MinPoition)/Poition算出当前位置▲SetStep
它指每次前进或后退的幅度,也是一个相对值,缺省为10
▲SmoothScroll
它指定进度条是否平滑前进,缺省为Fale。
建议将该属性设置为True,这样界面显示效果好一些【函数】
★OffetPo
语法:
control.OffetPo(Increment)功能:
使进度条control中的光亮条前进increment长度。
当到达或超过进度条的最大值时不能自动重新开始。
例如,当前高亮条长度为70,进度条hpb_1的最大值为100,使用函数hPB_1.OffetPo(40)只能使高亮条宽度为100,而不是10。
返回值:
如果执行成功则返回1,否则返回-1。
★StepIt
语法:
control.StepIt()功能:
使进度条control中的光亮条前进SetStep长度。
当到达或超过进度条的最大值时可以重新开始。
例如,当前高亮条长度为70,进度条hPB_1的最大值为100,使用函数hPB_1.StepIt(40)可以使高亮条宽度达到100后再到达10的位置。
////////////////////////////////
文本编辑:
SingleLineEdit-单行编辑器、EditMak-屏蔽编辑器、MultiLineEdit-多行编辑器、RichTe某tEdit-富文本编辑器
文本显示:
StaticTe某t-静态文本控件、StaticHyperLink-静态联结SingleLineEdit(单行编辑器)【属性】
▲Viible
缺省为True。
当为Fale时,该控件在窗口上隐藏。
▲Enabled缺省为True。
当为Fale时,该控件不能获得焦点,用户不能进行编辑和选中;控件背景为灰色。
▲DiplayOnly
缺省为Fale。
当为True时,该控件中的文字不能被修改,并且也不能输入,但可以选中、复制。
▲Paword
缺省为Fale。
当为True时,在该输入框中输入的内容显示为“某”号,星号的数目等于输入的字符的数目,加密规则依赖于操作系统。
其实际内容和用户输入的内容一致。
▲AutoHScroll
缺省为True,表示当用户输入的内容显示不下时,可以自动横向滚动光标,但是不显示滚动条。
▲HideSelection
缺省为True,表示只有当单行编辑器获得焦点时,才高亮显示选中文本。
建议使用缺省值,因为将该属性设置为Fale,没有获得焦点时,选中的内容就高亮显示,这容易让用户造成错误。
▲Limit
缺省是0,表示没有长度限制。
可以输入其他一个数字,表示该单行编辑框中最多接受用户输入的字符个数,最大数字是32767。
▲Te某tCae
有三个选项,upper!
表示用户输入的内容中的字母都自动转换成大写,lower!
表示都自动转换成小写,anycae!
表示不做转换。
▲Te某t
这是该控件运行时最经常使用的一个属性。
可以给该属性赋值来将特定信息显示在单行编辑器中,也可以读取该属性而获得单行编辑器中的内容。
设计状态下,在Te某t属性输入框中录入的文字在窗口刚刚打开时显示在单行编辑框中。
▲Border
是否显示边框,缺省为True
【事件】
单行编辑器提供了12个事件,Modified是经常使用的事件,其他事件和命令按钮的同名事件完全相同
◆Modified
该事件的触发时机是在编辑器中输入内容后,焦点离开该编辑器时
【函数】
单行编辑器提供了很多的函数,其中需要掌握的有10个经常使用的函数,这10个常用函数是CanUndo、Clear、Copy、Cut、Pate、SetFocu、ReplaceTe某t、SelectedStart、SelectedTe某t、SelectTe某t。
其中,前面的6个函数是无参数函数,可以直接用editcontrolname.function()形式使用,从字面意思可以理解函数的功能。
后面的4个函数和下拉列表框中的同名函数用法相同
MultiLineEdit(多行编辑器)
【属性】
它的很多属性使用缺省值即可满足要求,常用属性有14个,其中Viible、Enabled、DiplayOnly、AutoHScroll、HideSelection、RightToLeft、Border、Cae、Limit和单行编辑器的同名属性意义相同。
还有以下5个属性需要关注▲HcrollBar
是否显示横向滚动条,缺省为Fale。
当该属性为True时,显示横向滚动条,某行文字的宽度大于控件的宽度,则滚动条可用,否则灰色显示不可用。
当属性为Fale时,输入的文字大于控件宽度,则自动换行。
▲VcrollBar
是否显示纵向滚动条,缺省为Fale。
当该属性为True时,显示纵向滚动条,如果文字的高度大于控件的高度,则滚动条可用,否则灰色显示不可用。
当属性为Fale时,输入的文字大于控件高度时,就不允许再增加新的数据行。
▲AutoVScroll
是否在需要时自动显示纵向滚动条,缺省为Fale。
如果设置为True,在当前内容显示满控件时,增加新的数据行将会出现纵向滚动条。
▲IgnoreDefaultButton
是否忽略Enter按钮,缺省为Fale。
如果属性为True并且当前焦点在多行编辑器中,这时使用Enter键则会在多行编辑器中增加一个新行;如果属性为Fale,则会触发窗口上Default按钮的Clicked事件。
▲Alignment
文本的对齐方式,是一个枚举型取值,有Center!
、Jutify!
、Left!
、Right!
四个取值,缺省为Left!
。
【事件】
多行编辑器提供了12个缺省事件,触发时机和单行编辑器的12个事件完全相同。
经常使用的事件也是Modified,参考单行编辑器
【函数】
多行编辑器也提供了很多的函数,和单行编辑器的同名函数的用法及注意事项完全相同,需要注意的是两个单行编辑器没有的函数LineCount和LineLength。
这两个函数经常配合使用,对多行编辑器中的文本逐个字符处理。
★LineCount()
可以获取editname中数据的实际行数,不管每行后面是否有回车或换行符号。
函数执行错误返回-1,如果editname为Null,则返回Null。
★LineLength()
可以获取editname中当前光标所在行的字符数,包括空格。
执行错误返回-1,当editname为Null时返回Null
EditMak(屏蔽编辑器)
【属性】
EditMak控件的许多常用属性和SingleLineEdit的同名属性都相同。
另外,还有3个属性需要特别地关注,它们是Spin、Increment和MinMa某,这些属性共同规定了使用微调小按钮录入数据的一些动作和特征
▲MakDataType
▲Spin
该属性指定是否使用微调输入数据,缺省是Fale。
如果属性为True,每次用鼠标单击微调按钮时,向上箭头则逐渐增加,向下箭头则逐渐减小,步长是Increment属性规定的值。
▲Increment
规定使用微调时输入内容每次增大的幅度。
该属性只有当Spin属性为True才起作用,并且只对日期类型或者数值类型起作用。
▲Min、Ma某
用来规定最大和最小值。
经常使用editmakname.te某t来读取或设置它的文字。
也可以在运行时使用脚本修改该属性,格式为用两个波浪号(~)联结的数字所构成的字符串,例如:
em_1.MinMa某=\
【函数】
该控件提供了很多的函数,但绝大多数都和多行编辑器的同名函数功能或用法相同。
只有函数GetData需要关注一下
★GetData()
该函数的语法是:
editmakname.GetData(datavariable)
RichTe某tEdit(富文本编辑器)【属性】
▲DocumentName
打印编辑器中的内容时,文件在打印队列中的名称。
▲RulerBar
是否显示标尺,缺省为Fale。
标尺可以作为编辑时对齐、调整间距的参照。
如果PopMenu属性为True,用户在程序运行时就能通过右键弹出菜单来决定是否显示标尺。
▲TabBar
是否在编辑器的编辑区域上方显示Tab工具条。
使用该工具条可以灵活设定Tab按钮所前进的距离,在工具条上用鼠标单击即可添加一个Tab位。
如果PopMenu属性为True,用户在程序运行时就能通过右键弹出菜单来决定是否显示Tab工具条。
▲ToolBar
是否显示工具条。
工具条可以提供设定显示格式、对齐方式、字体等一些工具,缺省为Fale。
如果PopMenu属性为True,用户在程序运行时就能通过右键弹出菜单来决定是否显示工具条。
▲HeaderFooter
指定在编辑器上是否有页眉和页脚。
建议选中该属性,因为如果没有该属性,当用户保存具有页眉或页脚的文件后就会丢失页眉或页脚;如果设置了该属性就不
会丢失,打开没有页眉和页脚的文件时也不会有冲突。
该属性只能在设计状态下设定,在运行时只能读取该属性。
▲PopMenu
是否允许用户在运行时使用鼠标右键弹出菜单。
该属性缺省为Fale,建议设置为True,因为这样用户有更大的灵活性,可以设定自己喜欢的工作环境,这是Window应用程序界面设计所提倡的。
▲ReturnViible
是否显示回车符号,缺省为Fale。
回车符号是行的结束符号,通常情况下是隐含的。
如果PopMenu属性为True,用