电竞比分网-中国电竞赛事及体育赛事平台

分享

ListView控件屬性、方法、事件

 悟靜 2009-07-28

常用屬性:
View設(shè)置或返回控件的視圖類型
值 說(shuō)明
1-LvwIcon 圖標(biāo)類型
2-LvwSmallIcon 小圖標(biāo)類型
3-LvwList 列表類型
4-LvwReport 報(bào)表類型

Arrange 設(shè)置后返回控件的圖標(biāo)排列方式(在圖標(biāo)視圖下有效)
值 說(shuō)明
1-LvwNone 不排列
2-LvwAutoLeft 自動(dòng)靠右排列
3-LvwAutoTop 自動(dòng)靠左排列

Icons、 SmallIcons、 ColumnHeaderIcons屬性
Icons指定圖標(biāo)視圖時(shí)的圖標(biāo)與ImageList的綁定
SmallIcons、 ColumnHeaderIcons指定列表視圖時(shí)的圖標(biāo)與ImageList的綁定

PICTURE、PictureAlignment屬性
分別指定ListView控件的背景圖片和布局方式

ListItems(Index) 屬性
ListItems 屬性是ListView控件中列表項(xiàng)的集合。Index用于指定列表項(xiàng)集合中的一個(gè)對(duì)象,
我們可以把這個(gè)對(duì)象看作對(duì)一行的引用
ListItems集合的屬性
1. Text 設(shè)置或返回顯示文本
2. key 關(guān)鍵字
3. index 索引編號(hào)
4. icon , smallicon 不同視圖時(shí)顯示單元格的圖標(biāo)
5. checked 給checkboxes 打√
6. selected 使處于選定狀態(tài)
7. ListSubitems(index) 集合 我們可以把這個(gè)集合看作對(duì)這行中單元格的引用
Text 設(shè)置或返回單元格顯示的內(nèi)容
Reporticon 設(shè)置單元格的圖標(biāo)
8. Subitems(index) 設(shè)置或返回單元格文本 == ListSubitems(index).text


ColumnHeaders(index) 屬性
ColumnHeaders 屬性是ListView控件中列標(biāo)頭的集合
1. text 顯示標(biāo)題文本
2. key
3. index
4. icon 指定標(biāo)題圖標(biāo)
5. alignment 指定index列的對(duì)齊方式 (注意:第一列也就是列表項(xiàng)不能指定)
6. position 返回當(dāng)前列的索引
7. subitemindex 返回指定列的listsubitem索引
TextBackgroud 屬性
決定text的背景是透明還是ListView的背景色
值 0 lvwTransparent 透明
1 lvw 不透明(用listview的背景色)
Ghosted 屬性 logic
決定是否虛狀
HideColumnHeaders 屬性
隱藏表頭
LabelWrap 屬性
標(biāo)簽轉(zhuǎn)行 View.LargeIcon 或 View.SmallIcon 時(shí)才使用該屬性
FullRowSelect
整行顯示
HotTracking
熱點(diǎn)追蹤 鼠標(biāo)指針自動(dòng)調(diào)整為手型
HoverSelection 屬性
自動(dòng)聚焦 鼠標(biāo)指針自動(dòng)調(diào)整為手型
AllowColumnReorder屬性
值設(shè)置.t.時(shí),用戶可以用鼠標(biāo)選中1列拖至其他地方進(jìn)行重新排列
Sorted屬性
當(dāng)值為.t.時(shí),列表按字母排序

常用方法:
ListItems.add(index,key,text,icon,smallicon)
向listitems添加一列表項(xiàng)。
Index 插入列表項(xiàng)的編號(hào)
Key 插入列表項(xiàng)的關(guān)鍵字
Text 插入列表項(xiàng)的文本
Icon 當(dāng)為圖標(biāo)視圖時(shí)要求顯示的圖標(biāo)
Smallicon 當(dāng)為小圖標(biāo)視圖時(shí)要求顯示的圖標(biāo)

Clear
清除listitems集合中所有的列表項(xiàng)

Remove清除選定行
L1=thisform.view1
L1.listitems.remove(L1.selectedItem.index)
AllowColumnReorder屬性
值設(shè)置.t.時(shí),用戶可以用鼠標(biāo)選中1列拖至其他地方進(jìn)行重新排列

常用事件:
AfterLabelEdit
編輯當(dāng)前選擇的列表對(duì)象之后發(fā)生

BeforeLabelEdit
編輯當(dāng)前選擇的列表對(duì)象之前發(fā)生

ItemClick
單擊某一列表對(duì)象時(shí)發(fā)生
參數(shù) item 對(duì)當(dāng)前列表項(xiàng)的引用

事件
AfterLabelEdit:編輯ListItem對(duì)象的標(biāo)簽時(shí)被觸發(fā)。
BeforeLabelEdit:編輯ListItem對(duì)象的標(biāo)簽后出發(fā)。
ColumnClick:?jiǎn)螕袅袠?biāo)題時(shí)觸發(fā)。參數(shù)中可以獲得被單擊的列對(duì)象。通常用于排序。
ItemClick:?jiǎn)螕裟承谢蚰矻istItem時(shí)觸發(fā)。參數(shù)中可以獲得被單擊的ListItem對(duì)象。


方法
FindItem:搜索ListItem對(duì)象。
參數(shù):
string:搜索字符串。
value:在ListItem的哪部分中搜索(LvwText、LvwSubItem、LvwTag);index:開始搜索的位置。
match:匹配方式。
HitTest:檢索位于特定坐標(biāo)處的ListItem對(duì)象。

vb 中的實(shí)例

Private Sub Form_load()
'確保ListView控件的view屬性為報(bào)表視圖。
ListView1.View=lvwReport
'添加三列。
ListView1.ColumnHeaders.Add,"Name","姓名"
ListView1.ColumnHeaders.Add,"Sex","性別"
ListView1.ColumnHeaders.Add,"Age","年齡"
'向控件添加ListItem對(duì)象。
Dim itmX As ListItem
'添加column1的名稱。
Set itmX=ListView1.ListItems.Add(1,"ZL","張力")
'使用SubItemIndex將SubItem與正確的ColumnHeader關(guān)聯(lián)。使用關(guān)鍵字("Sex")指定正確的ColumnHeader。
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
'使用ColumnHeader關(guān)鍵字將SubItems字符串與
'正確的ColumnHeader關(guān)聯(lián)。
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="19"
Set itmX=ListView1.ListItems.Add(1,"LF","李芳")
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="22"
Set itmX=ListView1.ListItems.Add(1,"WW","王偉")
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="24"
End Sub

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ComctlLib.ColumnHeader)
Select Case ColumnHeader.Key
Case "Sex":ListView1.SortKey=1
ListView1.SortOrder=lvwAscending
ListView1.Sorted=True
Case "Age":ListView1.SortKey=2
ListView1.SortOrder=lvwAscending
ListView1.Sorted=True
End Select
End Sub

例二

Private Sub UserForm_Initialize()

ListView1.ColumnHeaders.Add , , "QQ號(hào)" '添加QQ號(hào)列

ListView1.ColumnHeaders.Add , , "呢稱" '添加呢稱列

ListView1.ColumnHeaders.Add , , "來(lái)自何處" '添加來(lái)自何處列

ListView1.View = lvwReport ''設(shè)置顯示方式為報(bào)表格式

End Sub

代碼說(shuō)明:

1、在工作表中用Column表示列。而在Listview控件中,用ColumnHeaders對(duì)象來(lái)操作列,而添加新的列可以用ColumnHeaders對(duì)象的ADD方法。具體如下: ListView1.ColumnHeaders.Add 序號(hào),唯一的字符串標(biāo)識(shí),列標(biāo)顯示文字,列寬,列的內(nèi)容對(duì)齊方式,所使用的圖標(biāo)序號(hào)。 如本例中:ListView1.ColumnHeaders.Add , , "QQ號(hào)"

2、Listview控件的View 屬性決定著它的顯示的方式,具體如下: ListView1.View = lvwIcon '圖標(biāo)顯示 ListView1.View = lvwSmallIcon '小圖標(biāo)顯示 ListView1.View = lvwList '列表顯示 ListView1.View = lvwReport '報(bào)表顯示 添加效果:

 

示例文件:

代碼:

Private Sub UserForm_Initialize() '聲明變量類型

Dim ITM As ListItem '添加QQ號(hào)列,列寬占總寬度的三分之一,左對(duì)齊

ListView1.ColumnHeaders.Add , , "QQ號(hào)", ListView1.Width / 3, lvwColumnLeft '添加呢稱列,列寬占總寬度的三分之一,居中對(duì)齊

ListView1.ColumnHeaders.Add , , "呢稱", ListView1.Width / 3, lvwColumnCenter '添加來(lái)自何處列,列寬占總寬度的三分之一,右對(duì)齊

ListView1.ColumnHeaders.Add , , "來(lái)自何處", ListView1.Width / 3, lvwColumnRight '設(shè)置顯示方式為報(bào)表格式

ListView1.View = lvwReport '顯示表格線

ListView1.Gridlines = True '設(shè)置循環(huán),填充記錄
 

For i = 1 To [A65536].End(xlUp).Row '添加記錄

Set ITM = ListView1.ListItems.Add() '添加記錄的行標(biāo)題 定義產(chǎn)生一個(gè)新記錄,新行
 
ITM.Text = Cells(i, 1) '添加記錄的記錄文本說(shuō)明

ITM.SubItems(1) = Cells(i, 2) '添加記錄的第一個(gè)字段的內(nèi)容,在第二列上顯示

ITM.SubItems(2) = Cells(i, 3)

Next i

End Sub

代碼說(shuō)明: 1、ListView1的Gridlines屬性為True時(shí)顯示表格線,為False不顯示表格線。

2、在ListView控件中,添加記錄要通過(guò)ListItems集合對(duì)象來(lái)實(shí)現(xiàn),如本例中Set ITM = ListView1.ListItems.Add()

3、設(shè)置第一列的內(nèi)容是通過(guò)text屬性來(lái)添加,而以后各列的添加則通過(guò)SubItems對(duì)象來(lái)實(shí)現(xiàn)。第2列為SubItems(1)第3列為SubItems(2)..........

4、在Listview控件第1列只能左對(duì)齊,而不能采取其他對(duì)齊方式

5、單元格引用:CELLS(行,列) 

增加列
listView1.ColumnHeaders.Add
增加行
listView1.ListItems.Add

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多