|
常用屬性: 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
|