PB控件属性之listBox和pictureListBox

列表框-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-notselected
retrun value:Integer. Returns 1 if it succeeds and -1 if an error occurs. Ifany argument's value is NULL, SetState returns NULL.

★controlname.addpicture(picturename)
其中controlname为图形列表框或者下拉图形列表框控件的名称;picturename为字符类型,是要添加的图形文件名称。
函数返回值:Integer. Returns the picture index number if itsucceeds 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 anerror occurs.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值