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.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章