zoukankan      html  css  js  c++  java
  • 【VB技巧】VB ListView 控件功能使用详解

    来源:http://lcx.cc/?i=494

    ListView控件

    在工具箱上击鼠标右键,选择快捷菜单的Components(部件)项,在控件列表中选择Microsoft Windows Common Controls 5.0控件(Comctl32.ocx),这个控件中包括ListView、TreeView等几个Windows 95特有的控件。

    如果使用的是Visual Basic 6.0,则应该选择Microsoft Windows Common Controls 6.0控件。

    将 ColumnHeader 对象添加到 ListView 控件的 ColumnHeaders 集合中。 
     
    语法 
    ListView1.ColumnHeaders.Add(index, key, text, width, alignment, icon) 
    Add 方法的语法包含下面部分: 
    部分  描述 
    object   必需的。对象表达式,其值是 ColumnHeaders 集合。 
    index   可选的。唯一标识对象集合成员的整数。 
    key   可选的。唯一的字符串表达式,可以用来访问集合的成员。 
    text   可选的。出现在 ColumnHeader 对象中的字符串。 
    width   可选的。数值表达式,它使用控件容器的度量单位指定对象的宽度。 
    alignment  可选的。决定 ColumnHeader 对象中文本对齐方式的整数。关于设置信息,请参阅“请参阅列表中 Alignment 属性的信息。 
    icon   可选的。Smallicons 图象列表中图象的关键字或索引。 
    说明 Add 方法返回新插入的 ColumnHeader 对象的引用。 
    使用 index 参数在 ColumnHeaders 集合的特定位置插入列标头。 
    当 ColumnHeaders 集合成员可能动态变更时,应使用 Key 属性引用它们,因为任何 ColumnHeader 对象的 Index 属性都可以改变。

    示例:
    ListView1.ListItems.Clear               '清空列表
    ListView1.ColumnHeaders.Clear           '清空列表头
    ListView1.View = lvwReport              '设置列表显示方式
    ListView1.GridLines = True              '显示网络线
    ListView1.LabelEdit = lvwManual         '禁止标签编辑
    ListView1.FullRowSelect = True          '选择整行

    ListView1.ColumnHeaders.Add , , "ID", 500 '给列表中添加列名
    ListView1.ColumnHeaders.Add , , "本地 IP", 1500
    ListView1.ColumnHeaders.Add , , "本地端口", 900
    ListView1.ColumnHeaders.Add , , "协议", 550
    ListView1.ColumnHeaders.Add , , "远程 IP", 1500
    ListView1.ColumnHeaders.Add , , "远程端口", 900
    ListView1.ColumnHeaders.Add , , "当前状态", 900
    ListView1.ColumnHeaders.Add , , "连接时间", 900
    -------------------------------------------------------
    Dim X
    X = ListView1.ListItems.Count + 1
    ListView1.ListItems.Add , , X
    ListView1.ListItems(X).SubItems(1) = "00:00:00"
    ListView1.ListItems(X).SubItems(2) = "2008-01-01"
    ListView1.ListItems(X).SubItems(3) = "(无)"
    -------------------------------------------------------
    ListView1.ListItems.Clear               '清空列表
    ListView1.ListItems.Add , , "1" 
    ListView1.ListItems(1).SubItems(1) = "00:00:00" 
    ListView1.ListItems(1).SubItems(2) = "2008-01-01" 
    ListView1.ListItems(1).SubItems(3) = "(无)" 
    ListView1.ListItems.Add , , "2" 
    ListView1.ListItems(2).SubItems(1) = "00:00:01" 
    ListView1.ListItems(2).SubItems(2) = "2008-01-01" 
    ListView1.ListItems(2).SubItems(3) = "(无)" 
    -------------------------------------------------------
    ListView1.View = lvwReport              '设置显示方式为列表
    ListView1.AllowColumnReorder = True     '对行进行程序排列,用鼠标进行排列
    ListView1.Arrange = lvwAutoLeft         '图标横排列
    ListView1.Arrange = lvwAutoTop          '图标竖排列
    ListView1.FlatScrollBar = False         '显示滚动条
    ListView1.FlatScrollBar = True          '隐藏滚动条
    ListView1.FullRowSelect = True          '选择整行
    ListView1.LabelEdit = lvwManual         '禁止标签编辑
    ListView1.GridLines = True              '显示网络线
    ListView1.LabelWrap = True              '图标可以换行
    ListView1.MultiSelect = True            '可以选择多个项目
    ListView1.PictureAlignment = lvwTopLeft '图片对齐方式是左顶部,其他有右顶部(1)、左底部(2)、右底部(3)、居中(4)、平铺(5)
    ListView1.Checkboxes = True             '显示复选框
    ListView1.DropHighlight = ListView1: ListItems.Item (2)  '显示系统颜色

    获取当前行数和列数:
    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行

  • 相关阅读:
    git创建分支与合并分支
    web实现点击左侧导航,右侧加载不同的网页(这种布局多用于后台管理系统)
    小程序通过用户授权获取手机号之getPhoneNumber
    git 本地仓库与远程仓库建立连接
    multipartUpload上传图片到阿里云
    5月23日——SPA单页面应用的原理
    5月23日——谈谈对BFC规范的理解
    5月11日——IOS下如何检测用户是否安装微信
    5月10日——华为内置虚拟键问题
    移动端WEB开发,click,touch,tap事件浅析
  • 原文地址:https://www.cnblogs.com/zouhao/p/3658010.html
Copyright © 2011-2022 走看看