|
常用屬性: View設置或返回控件的視圖類型 值 說明 1-LvwIcon 圖標類型 2-LvwSmallIcon 小圖標類型 3-LvwList 列表類型 4-LvwReport 報表類型
Arrange 設置后返回控件的圖標排列方式(在圖標視圖下有效) 值 說明 1-LvwNone 不排列 2-LvwAutoLeft 自動靠右排列 3-LvwAutoTop 自動靠左排列
Icons、 SmallIcons、 ColumnHeaderIcons屬性 Icons指定圖標視圖時的圖標與ImageList的綁定 SmallIcons、 ColumnHeaderIcons指定列表視圖時的圖標與ImageList的綁定
PICTURE、PictureAlignment屬性 分別指定ListView控件的背景圖片和布局方式
ListItems(Index) 屬性 ListItems 屬性是ListView控件中列表項的集合。Index用于指定列表項集合中的一個對象, 我們可以把這個對象看作對一行的引用 ListItems集合的屬性 1. Text 設置或返回顯示文本 2. key 關鍵字 3. index 索引編號 4. icon , smallicon 不同視圖時顯示單元格的圖標 5. checked 給checkboxes 打√ 6. selected 使處于選定狀態(tài) 7. ListSubitems(index) 集合 我們可以把這個集合看作對這行中單元格的引用 Text 設置或返回單元格顯示的內容 Reporticon 設置單元格的圖標 8. Subitems(index) 設置或返回單元格文本 == ListSubitems(index).text
ColumnHeaders(index) 屬性 ColumnHeaders 屬性是ListView控件中列標頭的集合 1. text 顯示標題文本 2. key 3. index 4. icon 指定標題圖標 5. alignment 指定index列的對齊方式 (注意:第一列也就是列表項不能指定) 6. position 返回當前列的索引 7. subitemindex 返回指定列的listsubitem索引 TextBackgroud 屬性 決定text的背景是透明還是ListView的背景色 值 0 lvwTransparent 透明 1 lvw 不透明(用listview的背景色) Ghosted 屬性 logic 決定是否虛狀 HideColumnHeaders 屬性 隱藏表頭 LabelWrap 屬性 標簽轉行 View.LargeIcon 或 View.SmallIcon 時才使用該屬性 FullRowSelect 整行顯示 HotTracking 熱點追蹤 鼠標指針自動調整為手型 HoverSelection 屬性 自動聚焦 鼠標指針自動調整為手型 AllowColumnReorder屬性 值設置.t.時,用戶可以用鼠標選中1列拖至其他地方進行重新排列 Sorted屬性 當值為.t.時,列表按字母排序
常用方法: ListItems.add(index,key,text,icon,smallicon) 向listitems添加一列表項。 Index 插入列表項的編號 Key 插入列表項的關鍵字 Text 插入列表項的文本 Icon 當為圖標視圖時要求顯示的圖標 Smallicon 當為小圖標視圖時要求顯示的圖標
Clear 清除listitems集合中所有的列表項
Remove清除選定行 L1=thisform.view1 L1.listitems.remove(L1.selectedItem.index) AllowColumnReorder屬性 值設置.t.時,用戶可以用鼠標選中1列拖至其他地方進行重新排列
常用事件: AfterLabelEdit 編輯當前選擇的列表對象之后發(fā)生
BeforeLabelEdit 編輯當前選擇的列表對象之前發(fā)生
ItemClick 單擊某一列表對象時發(fā)生 參數 item 對當前列表項的引用
事件 AfterLabelEdit:編輯ListItem對象的標簽時被觸發(fā)。 BeforeLabelEdit:編輯ListItem對象的標簽后出發(fā)。 ColumnClick:單擊列標題時觸發(fā)。參數中可以獲得被單擊的列對象。通常用于排序。 ItemClick:單擊某行或某ListItem時觸發(fā)。參數中可以獲得被單擊的ListItem對象。
方法 FindItem:搜索ListItem對象。 參數: string:搜索字符串。 value:在ListItem的哪部分中搜索(LvwText、LvwSubItem、LvwTag);index:開始搜索的位置。 match:匹配方式。 HitTest:檢索位于特定坐標處的ListItem對象。
vb 中的實例
Private Sub Form_load() '確保ListView控件的view屬性為報表視圖。 ListView1.View=lvwReport '添加三列。 ListView1.ColumnHeaders.Add,"Name","姓名" ListView1.ColumnHeaders.Add,"Sex","性別" ListView1.ColumnHeaders.Add,"Age","年齡" '向控件添加ListItem對象。 Dim itmX As ListItem '添加column1的名稱。 Set itmX=ListView1.ListItems.Add(1,"ZL","張力") '使用SubItemIndex將SubItem與正確的ColumnHeader關聯。使用關鍵字("Sex")指定正確的ColumnHeader。 itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男" '使用ColumnHeader關鍵字將SubItems字符串與 '正確的ColumnHeader關聯。 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號" '添加QQ號列
ListView1.ColumnHeaders.Add , , "呢稱" '添加呢稱列
ListView1.ColumnHeaders.Add , , "來自何處" '添加來自何處列
ListView1.View = lvwReport ''設置顯示方式為報表格式
End Sub
代碼說明:
1、在工作表中用Column表示列。而在Listview控件中,用ColumnHeaders對象來操作列,而添加新的列可以用ColumnHeaders對象的ADD方法。具體如下: ListView1.ColumnHeaders.Add 序號,唯一的字符串標識,列標顯示文字,列寬,列的內容對齊方式,所使用的圖標序號。 如本例中:ListView1.ColumnHeaders.Add , , "QQ號"
2、Listview控件的View 屬性決定著它的顯示的方式,具體如下: ListView1.View = lvwIcon '圖標顯示 ListView1.View = lvwSmallIcon '小圖標顯示 ListView1.View = lvwList '列表顯示 ListView1.View = lvwReport '報表顯示 添加效果:
示例文件:
代碼:
Private Sub UserForm_Initialize() '聲明變量類型
Dim ITM As ListItem '添加QQ號列,列寬占總寬度的三分之一,左對齊
ListView1.ColumnHeaders.Add , , "QQ號", ListView1.Width / 3, lvwColumnLeft '添加呢稱列,列寬占總寬度的三分之一,居中對齊
ListView1.ColumnHeaders.Add , , "呢稱", ListView1.Width / 3, lvwColumnCenter '添加來自何處列,列寬占總寬度的三分之一,右對齊
ListView1.ColumnHeaders.Add , , "來自何處", ListView1.Width / 3, lvwColumnRight '設置顯示方式為報表格式
ListView1.View = lvwReport '顯示表格線
ListView1.Gridlines = True '設置循環(huán),填充記錄
For i = 1 To [A65536].End(xlUp).Row '添加記錄
Set ITM = ListView1.ListItems.Add() '添加記錄的行標題 定義產生一個新記錄,新行
ITM.Text = Cells(i, 1) '添加記錄的記錄文本說明
ITM.SubItems(1) = Cells(i, 2) '添加記錄的第一個字段的內容,在第二列上顯示
ITM.SubItems(2) = Cells(i, 3)
Next i
End Sub
代碼說明: 1、ListView1的Gridlines屬性為True時顯示表格線,為False不顯示表格線。
2、在ListView控件中,添加記錄要通過ListItems集合對象來實現,如本例中Set ITM = ListView1.ListItems.Add()
3、設置第一列的內容是通過text屬性來添加,而以后各列的添加則通過SubItems對象來實現。第2列為SubItems(1)第3列為SubItems(2)..........
4、在Listview控件第1列只能左對齊,而不能采取其他對齊方式
5、單元格引用:CELLS(行,列)
增加列 listView1.ColumnHeaders.Add 增加行 listView1.ListItems.Add
|