马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?站点注册
×
////////////////////////////////
命令按钮-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个用来设定图形的相关属性。
▲Sorted,指定列表框中的内容是否排序,不管数字还是字符都按照字符处理,按照ASCII大小进行排序
▲VscrollBar、HscrollBar,指定当项目纵向或横向显示不下时,是否显示滚动条
▲MultiSelect,此属性为True时表示使用鼠标可以直接同时选中多项
▲ExtendSelect,也有进行多项同时选择的属性,但选择方法不同于MultiSelect属性,必须配合Ctrl或Shift按钮,当同时指定这两个属性时,ExtendedSelect属性将会屏蔽MultiSelect属性
▲DisableNoScroll,此属性为True时,不管是否必须要滚动条,都显示滚动条;为False时只有在项目多,需要显示滚动条时显示滚动条
▲ItemPictureIndex[]
integer类型的只读数组,使用该数组可以获取每个图片项目的索引。该数组通过AddItem()和DeleteItem()函数修改。
▲PictureHeight
integer类型,标识图片在控件中显示的高度。只有当前在控件列表中没有项目时才能设置该属性。
▲PictureWidth
Integer类型,图片在控件中显示的宽度。该属性缺省值为0,表示使用添加图片时图片的缺省宽度。在添加图片之前应该首先设置好该属性,这样添加的图片才能按照该尺寸显示。
▲PictureMaskColor
long类型,图片的标志颜色,当使用AddPicture函数添加图片时,新添加的图片使用该颜色。
▲PictureName[]
数组类型,保存的是在初始化时添加的图片文件名称。注意,这里保存的是初始化时的文件名,运行过程中删除或者添加的图片不会影响该数组的内容。
【事件】
这两个控件的缺省事件都是SelectionChanged,当重新选择了项目时,触发该事件。该事件和DoubleClicked事件是经常使用的事件,除了这两个事件以外的其他10个事件和命令按钮的同名事件触发时机完全相同
【函数】
listbox总共有35个函数,经常使用的有14个。
★Reset
该函数用来清除列表框中的所有项目,使用方法是:listbox.Reset()。函数执行成功返回1,否则返回-1
★AddItem
在列表框最后添加一个项目,如果列表框的Sorted属性为True,则添加的项目重新排序。列表框的属性Item[]是一个记录列表框项目的数组,通过指定索引号可以获得项目的内容,但使用AddItem函数不能修改该属性。用该函数添加过项目以后就应该慎用Item[]了,否则会出现数组超界的运行错误,最好使用Text来引用列表框中项目的文字,该函数总是安全的。AddItem函数的使用格式是:listbox.AddItem(string)
★TotalItems
该函数可以读取列表框中总共有多少个项目。它的使用格式是:listbox.TotalItems()。该函数返回一个整型数值,表示列表框中总共有多少个项目。列表框的第一个项目的索引号是1,最后一个的索引号等于listbox.TotalItems()。
★State
该函数用来表示判断指定索引号的项目是否选中,使用格式是:listbox.state(index)。返回值为integer类型,1表示指定索引号的项目是选中状态,0表示指定索引号的项目没有被选中。
★Text
该函数用来读取指定索引号的项目的内容,使用格式是:listbox.Text(index)。返回一个string类型的数值。
和该函数功能类似,列表框还有一个Item[]属性也可以返回指定索引号的项目的内容。但是和Text函数与很大的区别,该属性反应的都是列表框在创建初的内容,如果列表框使用了Sorted属性或者用AddItem、InsertItem、Reset、DeleteItem、Dirlist等都不能修改Item[]属性,也就是说,在使用了这些函数或属性修改了列表框中的内容或项目的排列顺序后,Item[]属性返回的仍然是列表框创建时的信息。
★DeleteItem
删除指定索引号的项目。语法:listbox.deleteitem(index)。返回-1表示失败,NULL表示参数为NULL,其他正整数表示删除后列表框中的项目数
★InsertItem
在指定索引号前插入内容为item的项目。语法:listbox.InsertItem(item,index)。返回-1表示插入失败,NULL表示有参数为NULL,其他正整数表示插入项目在列表框中最后的实际位置。
★Dirlist
语法:listbox.dirlist(filespec,filetype,{statictext})。功能:在列表框中显示指定类型的文件。参数:listbox为要显示文件名的列表框,filespec为要显示文件的路径及后缀,statictext为窗口上的要显示路径的statictext控件名称,filetype表示文件的类型。返回值;NULL表示至少有个参数为NULL,True表示操作正确完成,False表示列表框不能正确显示指定文件。
filetype文件属性:
0 可读写文件
1 只读文件
2 隐含文件
4 系统文件
16 子目录
32 归档文件
16384 驱动器
32768 可读写文件以外的
*同时显示多种类型的文件,可以使用加号联结。例如同时要显示可读写、子目录、驱动器,参数filetype可以使用表达式 0+16+16384
★DirSelect
语法:Listbox.DirSelect(selection)
功能:如果目前列表框中的内容是使用函数Dirlist获得的,该函数会将用户在列表框listbox中选择的项目的内容保存在string类型变量selection中;如果目前列表框中的内容不是使用Dirlist获得的,该函数返回的值不能正确反映实际的内容
返回值:NULL表示至少有一个参数是NULL,True表示用户选择的是目录、驱动器,False表示用户选择的是文件。
String ls_pathname
String ls_pattern
Ls_pattern = '*.txt'
If lb_1.DirSelect(ls_pathname) Then //用户选择的是目录或驱动器
lb_1.DirList(ls_pathname + ls_pattern,0) //显示用户选择的目录或驱动器下的文件
Else
//用户选择的是文件,进行其他相关处理
End If
★FindItem
语法:listbox.FindItem(text,index)
功能:在listbox列表框中从索引号为index+1的项目开始搜索,看是否有内容为text的项目。
返回值:没有找到或者发生错误则返回-1,有参数为NULL时返回NULL,正确执行并找到了匹配的项目则返回与之匹配的第一个项目的索引号。
*该查找是前面部分匹配。例,要查找“a”,项目“a”、“an”、“artist”都符合要求,而“a”在其他位置的,如“ca”就和要查找的不匹配。
例:在sle_1的Modified事件中,在lb_1查找所有和用户输入字符匹配的项目的索引号和内容。
int li_pos,li_pri
li_pos = lb_1.FindItem(this.text,0)
li_pri = li_pos
do
MessageBox(String(li_pos),lb_1.text(li_pos))
li_pri = li_pos
li_pos = lb_1.FindItem(this.text,li_pos)
loop until li_pos <= li_pri
★SelectedIndex
语法:listbox.selectedIndex()
功能:在listbox列表框中查找第一个选中的项目。
返回值:如果找到选中项目,则返回该第一个选中项目的索引号;如果listbox为null则返回null,如果没有找到选中项目或者查找过程中发生了错误则返回-1。
★selectedItem
语法:listbox.SelectedItem()
功能:获取列表框listbox中选中项目的内容。通常在列表框不允许同时选中多行时使用,当允许多行同时选中时,经常使用state和text函数来获取选中项目的内容。
返回值:如果有选中项目,则返回选中项目的内容,如果没有选中项目则返回空值" ",如果listbox为NULL,则返回NULL。
★selectItem
语法:listbox.SelectItem(item,index)
功能:在不允许多选的listbox列表框的索引号为index之后查找内容为item的项目,如果找到则选中该项目。*该查找也是前面部分匹配,同函数finditem的匹配相同。当列表框允许多选时,该函数不起作用,这时应该使用finditem和setstate来实现该功能。函数setstate不影响已经选中行的状态。
返回值:如果正确执行并找到了匹配的项目,则返回匹配项目的索引号,如果没有匹配的项目,则返回0,如果发生了错误则返回-1,如果有参数为NULL,则返回NULL。
指定index:listbox.selectitem( itemnumbe)
★TotalSelected
语法:listbox.TotalSelected()
功能:获取在listbox列表框中选中的项目数。该函数只在列表框允许多选时起作用,在不允许多选列表框中,即使有选中,项目也返回-1。
返回值:正确执行时返回列表框中选中的项目数,没有选中项目时返回0,执行错误时返回-1,如果listbox为NULL,则返回NULL。
★SetState
语法:listbox.setstate(index,state)
功能:高亮显示指定的项目;不影响已经高亮显示的项目;state:true-select,fasel-not selected
retrun value:Integer. Returns 1 if it succeeds and -1 if an error occurs. If any argument's value is NULL, SetState returns NULL.
★controlname.addpicture(picturename)
其中controlname为图形列表框或者下拉图形列表框控件的名称;picturename为字符类型,是要添加的图形文件名称。
函数返回值:Integer. Returns the picture index number if it succeeds and -1 if an error occurs.
如果想添加pb系统提供的那些常用图片,比如想添加checkin!图片,可以使用下面的语句:
plb_1.addpicture("checkin!")
该函数的操作相当于在pictures属性页中的操作。
★controlname.deletePicture(index)
其中controlname为图形列表框或者下拉图形列表框控件的名称;index为integer型,是要删除的图片的索引号,如果指定的索引号不存在则不会删除任何图片。
返回值:Integer. Returns 1 if it succeeds and -1 if an error occurs.
////////////////////////////////
在PB中提供了三类条状控件,ScrollBar-滚动条、TrackBar-轨迹条和ProgressBar-进度条
ScrollBar(滚动条)
【属性】
▲MinPosition和MaxPosition
缺省值分别是0和100,用来指定滚动条上滑块的最左(最上)和最右(最下)位置时所代表的数值。
▲Position
缺省也是0,指滑块的位置。它是一个相对位置,相对于MinPosition和MaxPosition而言的。
【事件】
◆LineLeft和LineRight(对应LineUp和LineDown)
当单击横向滚动条左侧的小箭头时触发LineLeft事件,在该事件下编写脚本使小滑块向左移动;单击横向滚动条右侧的小箭头时触发LineRight事件,在该事件下编写脚本使小滑块向右滑动
◆PageLeft和PageRight(对应PageUp和PageDown)
当单击横向滚动条小滑块和左侧小箭头之间空白时触发PageLeft事件,在该事件下编写脚本使小滑块向左移动较大的距离;单击横向滚动条小滑块和右侧小箭头之间的空白触发PageRight事件,应该在该事件下编写脚本使下滑块向右移动较大的距离
◆Moved
当在小滑块上按下鼠标并移动时触发该事件,该事件下的脚本应该跟随鼠标移动的方向改变小滑块的位置
TrackBar(轨迹条)
该控件也是一个通过改变滑块位置来输入数据或显示信息的控件。和滚动条不同的是,使用该控件数值不能发生连续的变化,一般经常用来输入timer事件的时间间隔或者窗口的尺寸等
ProgressBar(进度条)
【属性】
▲MinPosition和MaxPosition
这两个属性的含义和ScrollBar的同名属性含义相同
▲Position
这是一个非常重要的属性,在脚本中读取或者设置该属性。它决定小滑块的当前位置,是一个相对于MinPosition和MaxPosition属性而言的相对量。可以用(MaxPosition – MinPosition)/Position算出当前位置
▲SetStep
它指每次前进或后退的幅度,也是一个相对值,缺省为10
▲SmoothScroll
它指定进度条是否平滑前进,缺省为False。建议将该属性设置为True,这样界面显示效果好一些
【函数】
★OffsetPos
语法:control.OffsetPos(Increment)
功能:使进度条control中的光亮条前进increment长度。当到达或超过进度条的最大值时不能自动重新开始。例如,当前高亮条长度为70,进度条hpb_1的最大值为100,使用函数hPB_1.OffsetPos(40)只能使高亮条宽度为100,而不是10。
返回值:如果执行成功则返回1,否则返回-1。
★StepIt
语法:control.StepIt()
功能:使进度条control中的光亮条前进SetStep长度。当到达或超过进度条的最大值时可以重新开始。例如,当前高亮条长度为70,进度条hPB_1的最大值为100,使用函数hPB_1.StepIt(40)可以使高亮条宽度达到100后再到达10的位置。
////////////////////////////////
文本编辑:SingleLineEdit-单行编辑器、EditMask-屏蔽编辑器、MultiLineEdit-多行编辑器、RichTextEdit-富文本编辑器
文本显示:StaticText-静态文本控件、StaticHyperLink-静态联结
SingleLineEdit(单行编辑器)
【属性】
▲Visible
缺省为True。当为False时,该控件在窗口上隐藏。
▲Enabled
缺省为True。当为False时,该控件不能获得焦点,用户不能进行编辑和选中;控件背景为灰色。
▲DisplayOnly
缺省为False。当为True时,该控件中的文字不能被修改,并且也不能输入,但可以选中、复制。
▲Password
缺省为False。当为True时,在该输入框中输入的内容显示为“*”号,星号的数目等于输入的字符的数目,加密规则依赖于操作系统。其实际内容和用户输入的内容一致。
▲AutoHScroll
缺省为True,表示当用户输入的内容显示不下时,可以自动横向滚动光标,但是不显示滚动条。
▲HideSelection
缺省为True,表示只有当单行编辑器获得焦点时,才高亮显示选中文本。建议使用缺省值,因为将该属性设置为False,没有获得焦点时,选中的内容就高亮显示,这容易让用户造成错误。
▲Limit
缺省是0,表示没有长度**。可以输入其他一个数字,表示该单行编辑框中最多接受用户输入的字符个数,最大数字是32 767。
▲TextCase
有三个选项,upper!表示用户输入的内容中的字母都自动转换成大写,lower!表示都自动转换成小写,anycase!表示不做转换。
▲Text
这是该控件运行时最经常使用的一个属性。可以给该属性赋值来将特定信息显示在单行编辑器中,也可以读取该属性而获得单行编辑器中的内容。设计状态下,在Text属性输入框中录入的文字在窗口刚刚打开时显示在单行编辑框中。
▲Border
是否显示边框,缺省为True
【事件】
单行编辑器提供了12个事件,Modified是经常使用的事件,其他事件和命令按钮的同名事件完全相同
◆Modified
该事件的触发时机是在编辑器中输入内容后,焦点离开该编辑器时
【函数】
单行编辑器提供了很多的函数,其中需要掌握的有10个经常使用的函数,这10个常用函数是CanUndo、Clear、Copy、Cut、Paste、SetFocus、ReplaceText、SelectedStart、SelectedText、SelectText。其中,前面的6个函数是无参数函数,可以直接用editcontrolname.function()形式使用,从字面意思可以理解函数的功能。后面的4个函数和下拉列表框中的同名函数用法相同
MultiLineEdit(多行编辑器)
【属性】
它的很多属性使用缺省值即可满足要求,常用属性有14个,其中Visible、Enabled、DisplayOnly、AutoHScroll、HideSelection、RightToLeft、Border、Case、Limit和单行编辑器的同名属性意义相同。还有以下5个属性需要关注
▲HscrollBar
是否显示横向滚动条,缺省为False。当该属性为True时,显示横向滚动条,某行文字的宽度大于控件的宽度,则滚动条可用,否则灰色显示不可用。当属性为False时,输入的文字大于控件宽度,则自动换行。
▲VscrollBar
是否显示纵向滚动条,缺省为False。当该属性为True时,显示纵向滚动条,如果文字的高度大于控件的高度,则滚动条可用,否则灰色显示不可用。当属性为False时,输入的文字大于控件高度时,就不允许再增加新的数据行。
▲AutoVScroll
是否在需要时自动显示纵向滚动条,缺省为False。如果设置为True,在当前内容显示满控件时,增加新的数据行将会出现纵向滚动条。
▲IgnoreDefaultButton
是否忽略Enter按钮,缺省为False。如果属性为True并且当前焦点在多行编辑器中,这时使用Enter键则会在多行编辑器中增加一个新行;如果属性为False,则会触发窗口上Default按钮的Clicked事件。
▲Alignment
文本的对齐方式,是一个枚举型取值,有Center!、Justify!、Left!、Right!四个取值,缺省为Left!。
【事件】
多行编辑器提供了12个缺省事件,触发时机和单行编辑器的12个事件完全相同。经常使用的事件也是Modified,参考单行编辑器
【函数】
多行编辑器也提供了很多的函数,和单行编辑器的同名函数的用法及注意事项完全相同,需要注意的是两个单行编辑器没有的函数LineCount和LineLength。这两个函数经常配合使用,对多行编辑器中的文本逐个字符处理。
★LineCount()
可以获取editname中数据的实际行数,不管每行后面是否有回车或换行符号。函数执行错误返回-1,如果editname为Null,则返回Null。
★LineLength()
可以获取editname中当前光标所在行的字符数,包括空格。执行错误返回-1,当editname为Null时返回Null
EditMask(屏蔽编辑器)
【属性】
EditMask控件的许多常用属性和SingleLineEdit的同名属性都相同。另外,还有3个属性需要特别地关注,它们是Spin、Increment和MinMax,这些属性共同规定了使用微调小按钮录入数据的一些动作和特征
▲MaskDataType
使用一些特殊的符号可以指定EditMask能够接受的数据格式,首先使用属性MaskDataType指明EditMask要接受的数据类型,该属性是EditMask控件非常重要的属性。该属性的取值是枚举类型,有6个取值,它们是:DateMask!、DateTimeMask!、DecimalMask!、NumericMask!、StringMask!、TimeMask!
不同的数据类型使用不同的格式符号,例如#表示数字,!表示一个大写字母等等,这些都可以在属性窗口的Mask输入框中输入或者直接选择,也可以在运行时使用脚本动态设定。设定完MaskDataType属性之后,就应该设置Mask属性了,该属性的取值是一个字符串,规定EditMask控件的数据格式,例如,em_1.Mask=" (###)########"可以设置电话号码格式
▲Spin
该属性指定是否使用微调输入数据,缺省是False。如果属性为True,每次用鼠标单击微调按钮时,向上箭头则逐渐增加,向下箭头则逐渐减小,步长是Increment属性规定的值。
▲Increment
规定使用微调时输入内容每次增大的幅度。该属性只有当Spin属性为True才起作用,并且只对日期类型或者数值类型起作用。
▲Min、Max
用来规定最大和最小值。
经常使用editmaskname.text来读取或设置它的文字。也可以在运行时使用脚本修改该属性,格式为用两个波浪号(~)联结的数字所构成的字符串,例如:em_1.MinMax="100~~1000"
【函数】
该控件提供了很多的函数,但绝大多数都和多行编辑器的同名函数功能或用法相同。只有函数GetData需要关注一下
★GetData()
该函数的语法是:editmaskname.GetData ( datavariable )
功能是获得EditMaskName中的原始数据,并保存在Datavariable变量中。
Datavariable变量的类型和屏蔽编辑器中的数据类型一致,可用的数据类型有date、DateTime、decimal、double、string和time。成功执行则返回1,执行过程中发生错误则返回-1,如果参数为Null则返回Null。
注意该函数读取的是屏蔽编辑器中原始的数据,而不是实际显示的格式(可以用editmaskname.text获得显示格式的数据)
RichTextEdit(富文本编辑器)
【属性】
▲DocumentName
打印编辑器中的内容时,文件在打印队列中的名称。
▲RulerBar
是否显示标尺,缺省为False。标尺可以作为编辑时对齐、调整间距的参照。如果PopMenu属性为True,用户在程序运行时就能通过右键弹出菜单来决定是否显示标尺。
▲TabBar
是否在编辑器的编辑区域上方显示Tab工具条。使用该工具条可以灵活设定Tab按钮所前进的距离,在工具条上用鼠标单击即可添加一个Tab位。如果PopMenu属性为True,用户在程序运行时就能通过右键弹出菜单来决定是否显示Tab工具条。
▲**
是否显示工具条。工具条可以提供设定显示格式、对齐方式、字体等一些工具,缺省为False。如果PopMenu属性为True,用户在程序运行时就能通过右键弹出菜单来决定是否显示工具条。
▲HeaderFooter
指定在编辑器上是否有页眉和页脚。建议选中该属性,因为如果没有该属性,当用户保存具有页眉或页脚的文件后就会丢失页眉或页脚;如果设置了该属性就不会丢失,打开没有页眉和页脚的文件时也不会有冲突。该属性只能在设计状态下设定,在运行时只能读取该属性。
▲PopMenu
是否允许用户在运行时使用鼠标右键弹出菜单。该属性缺省为False,建议设置为True,因为这样用户有更大的灵活性,可以设定自己喜欢的工作环境,这是Windows应用程序界面设计所提倡的。
▲ReturnVisible
是否显示回车符号,缺省为False。回车符号是行的结束符号,通常情况下是隐含的。如果PopMenu属性为True,用户在程序运行时就能通过右键弹出菜单来决定是否显示回车符号。
▲InputFieldsVisible和InputFieldNamesVisible
当数据由DataWindow提供时使用该属性,它们控制用户是否可以看到数据字段和名字。
▲WordWrap
到达一行末尾时是否自动换行。
▲PicturesAsFrame
控制是否将图片显示为图文框。
▲DisplayOnly
是否文档仅仅用于显示,而不允许用户修改。
▲InputFieldBackColor
输入字段的背景颜色,当数据由DataWindow提供时,该属性有效。
▲UndoDepth
可以撤消历史操作的数目,每次使用Ctrl+Z快捷键或者执行函数undo()时,撤消一个操作。
【事件】
◆FileExists
当用户试图将控件中的内容保存到已经存在的文件时触发该事件,该事件的参数filename可以在脚本中直接使用,返回值1表示停止处理,0表示继续处理。一般在该事件中编程让用户确认是否覆盖已经存在的文件。下面是该事件下的一个典型脚本:
integer li_rtn //保存用户的确认信息
li_rtn = Messagebox("确认",filename + "已经存在,是否覆盖? ",Question!,YesNo!,2)
If li_rtn = 1 Then //用户选择了“yes”
return 0 //保存
Else
return 1 //不保存
End If
◆InputFieldSelected
当用户选择一个输入字段(在该字段内双击或按了Enter键)时触发该事件。
◆Modified
当对控件中的内容做第一次改动时触发该事件。
◆PictureSelected
当用户在一个位图上双击或者按下了Enter键时触发该事件。通常在该事件中调用相应的位图编辑软件。
◆PrinterFooter
当要打印每页的页脚时触发该事件。该事件的两个参数CurrentPage和TotalPages可以在脚本中直接使用,表示当前页号和总页号。
◆PrinterHeader
当要打印每页的页眉时触发该事件。该事件中的两个参数和PrinterFooter事件中的两个参数完全相同。
◆RButtonDown
当PopMenu属性为False并且用户在该控件上按下鼠标右键时触发该事件。
◆RButtonUp
当PopMenu属性为False并且用户在该控件上松开鼠标右键时触发该事件。
StaticText(静态文本控件)
静态文本控件经常用来显示一定的提示信息,其中的文字在运行时用户不能进行编辑,可以用脚本改变其显示的内容。该控件在运行时不能获得焦点,即使将它的Tab Order值设置为非0也无法获得焦点。
该控件的缺省属性中惟一应该修改的就是text,其他没有必要也很少进行修改。
该控件虽然也提供了很多的事件,例如Clicked事件、DoubleClicked事件等,但很少在该控件上编写脚本,因为该控件一般就是用来显示信息,很少希望用户和该控件进行交互
StaticHyperLink(静态联结)
该控件也提供了很多的事件,但很少在上面进行编程。在该控件上单击鼠标即可自动调用操作系统上的缺省浏览器,打开该控件URL属性指定的页面
////////////////////////////////
下拉列表框-dropdownlistbox、图形下拉列表框-dropdownpicturelistbox
【属性】
下拉列表框提供了37个属性,图形下拉列表框除了这37个属性外,还有5个专门与图形有关的属性。因为具有列表框的特性,所以很多同名属性和Listbox的含义相同
▲AllowEdit
该属性设置是否允许用户输入新的项目,缺省为不允许
▲AutoHScroll
该属性设置当录入新项目或者删除数据时是否允许自动滚动编辑框,缺省不允许。下拉列表框的宽度大于Limit规定的数值,则没有必要设置该属性;否则就应该设置该属性为True。该属性实际上是单行编辑器的特征。
▲Enabled
该属性设置是否允许进行选择,缺省值是True
▲Limit
该属性用来规定用户可以输入的字符的最大宽度,0表示没有**,最大是32 766个,缺省是0。该属性是单行编辑器的特征。
▲ShowList
该属性规定是否总显示下拉列表
▲Sorted
和列表框的属性相同,该属性定义各个项目是否自动排序显示,缺省为False。当该属性为True时,动态添加到下拉列表框中的项目会自动排序显示到适当的位置
▲ItemPictureIndex[]
integer类型的只读数组,使用该数组可以获取每个图片项目的索引。该数组通过AddItem()和DeleteItem()函数修改。
▲PictureHeight
integer类型,标识图片在控件中显示的高度。只有当前在控件列表中没有项目时才能设置该属性。
▲PictureWidth
Integer类型,图片在控件中显示的宽度。该属性缺省值为0,表示使用添加图片时图片的缺省宽度。在添加图片之前应该首先设置好该属性,这样添加的图片才能按照该尺寸显示。
▲PictureMaskColor
long类型,图片的标志颜色,当使用AddPicture函数添加图片时,新添加的图片使用该颜色。
▲PictureName[]
数组类型,保存的是在初始化时添加的图片文件名称。注意,这里保存的是初始化时的文件名,运行过程中删除或者添加的图片不会影响该数组的内容。
【事件】
这两个控件的事件完全相同,都提供了14个事件。缺省事件是SelectionChanged,它和Modified事件是两个经常使用的事件。
◆SelectionChanged
在重新选择了下拉列表中的项目时触发。参数index可以直接引用,是当前选中项目的索引号。典型编程是获取用户当前所选项目的内容,然后根据用户所选内容进行其他相关的处理
◆Modified
在输入了新的项目后按下Enter或者Tab键而使下拉列表框失去焦点时触发。
典型编程是获取用户当前输入的内容,然后使用函数将其添加到当前的下拉列表框中,以便用户在退出应用程序之前无需再重新输入该项目。
◆DoubleClicked
双击时触发,很少在该事件下编写脚本
*其他事件和命令按钮的同名事件完全相同
【函数】
下拉列表框提供了37个函数,图形下拉列表框除此之外又增加了3个用户图形处理的函数。在这37个函数中,经常使用的有AddItem、DeleteItem、DirList、DirSelect、FindItem、InsertItem、Reset、SelectItem、Text、TotalItems、SelectedLength、SelectedText、SelectText、ReplaceText等14个函数,其中,前面的10个和列表框的同名函数用法相同,下面介绍后面的4个函数
★SelectedLength
语法:editname.SelectedLength ( )
功能:获取在editname中选中项目的字符数目,包括空格。注意,该函数只有在下拉列表框选中项目并且没有失去焦点时,才能正确获得所选项目的字符数目,所以在很多的事件或控件中编程使用该函数都返回0,因为这些事件触发时,下拉列表框失去了焦点,所以一般在下拉列表框的SelectionChanged事件中使用该函数。另外,下拉列表框的AllowEdit属性必须为True,才能正确执行该函数,否则该函数执行错误。
返回值:-1表示执行过程中发生了错误,0表示没有选中的项目,Null表示editname为Null,其他正整数表示选中项目的字符数目。
★SelectedText
语法:editname.SelectedText ( )
功能:返回editname中选中项目的内容。该函数在下拉列表框选中项目并且没有失去焦点时,可以正确返回选中项目的内容。
返回值:当有错误发生或者没有选中项目时返回空值(“”),当editname为Null返回Null,正确执行时返回选中项目的内容。
★SelectText
语法:editname.SelectText ( start, length )
功能:在editname的编辑框中,从第start字符开始选中length个字符。
返回值:返回选中的字符个数,如果发生了错误则返回-1,如果有参数为Null则返回Null。
★ReplaceText
语法:editname.ReplaceText (string )
功能:在editname中用指定的字符串string来替换选中的字符。?
返回值:返回string字符串的长度,如果发生错误则返回-1,如果有参数为Null则返回Null。
*除了上面介绍的4个常用函数外,图形下拉列表框还提供了3个专门用于图形的函数,它们是AddPicture、DeletePicture和DeletePictures。
|