标签:
常用操作:
获取当前行数和列数:
MsgBox "行数:" & ListView1.ListItems.Count & "列数:" & ListView1.ColumnHeaders.Count Private Sub ListView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) ListView1.ToolTipText = "行数:" & ListView1.ListItems.Count & "列数:" & ListView1.ColumnHeaders.Count End Sub
设置宽度:
ListView1.ColumnHeaders.Add , , "备注", 1500
当前选中行:
MsgBox ListView1.SelectedItem.Index
获取复选框的值:
MsgBox ListView1.ListItems(1).Checked
删除指定行:
ListView1.ListItems.Remove 1
去掉鼠标左键点击标签编辑:labeledit属性改为1
读取某行第一列内容:
ListView1.ListItems(i).Text
读取某行第几列内容 (不包括第一列):
ListView1.ListItems(Num).SubItems (4)
读取当前选中行第一列内容:
ListView1.ListItems(ListView1.SelectedItem.Index).Text
循环查找读取项目:
Dim i As Integer For i = 1 To ListView1.ListItems.Count If ListView1.ListItems(i).Text = 4 Then MsgBox ListView1.ListItems(i).Text ‘第一列 If ListView1.ListItems(i).SubItems(1) = 4 Then MsgBox ListView1.ListItems(i).SubItems(1) ‘第二列 Next i
清空列表头:
ListView1.ColumnHeaders.Clear
清空列表:
ListView1.ListItems.Clear
右键菜单:
Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = vbRightButton Then PopupMenu CommandLst ‘按下鼠标右键 显示菜单 End Sub
当前选中判断:
Dim N If ListView1.ListItems.Count <> 0
Then N = ListView1.SelectedItem.Index
Else MsgBox "当前没有任何主机在线!", vbInformation, "警告:":
Exit Sub If N < 1 Then MsgBox "你没有选中任何主机!", vbInformation, "警告:":
Exit Sub
VB设置某行为选中/非选中状态:
ListView.ListItems(i).Selected = True ‘选中第i行 ListView.ListItems(i).Selected = False ‘选中第i行
常用属性:
             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 使处于选定状态
             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 透明
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
             编辑当前选择的列表对象之后发生
             BeforeLabelEdit
             编辑当前选择的列表对象之前发生
             ItemClick 
             单击某一列表对象时发生 
             参数 item 对当前列表项的引用
             事件 
             AfterLabelEdit:编辑ListItem对象的标签时被触发。 
             BeforeLabelEdit:编辑ListItem对象的标签后出发。 
             ColumnClick:单击列标题时触发。参数中可以获得被单击的列对象。通常用于排序。 
             ItemClick:单击某行或某ListItem时触发。参数中可以获得被单击的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 ‘设置循环,填充记录 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
 
标签:
原文地址:http://www.cnblogs.com/zanglaowei/p/4375448.html