VisualFreeBasic控件_ListView 列表视图

2026-1-20 / 0 评论 / 59 阅读

相信大家都用过WIN系统的“我的电脑/此电脑”里 文件管理器 ,那里的显示文件,就是用这个控件(当然从WIN8开始用增强版的,和这个控件有差异,但是大差不差)

这个控件有4种形态

大多我们是用来,显示列表,显示二维数组。

列表头设置

  • 设计属性设置
  • 写代码设置
ListView1.AddColumn("表头名",LVCFMT_CENTER ,宽度) 

添加数据

添加一行数据的例题,只能一行一行,一列一列添加。

   Dim 行 As Long = ListView1.AddItem("0数据")
   ListView1.SetItemText(行, 1, "1数据")
   ListView1.SetItemText(行, 2, "2数据")
   ListView1.SetItemText(行, 3, "3数据")

常用事件

点击项目

Sub Form1_ListView1_LVN_ItemChanged(hWndForm As hWnd, hWndControl As hWnd, pNMV As NM_LISTVIEW)
   If pNMV.uNewState <> 3 Then Return '非用户点击和去除一次点击多次事件,可根据实际情况相应修改。

End Sub

常用属性

   ListView1.DeleteAllItems  '删除全部数据
   ListView1.DeleteItem      '删除一行数据
   ListView1.InsertItem      '插入一行数据

添加图标

每行数据,都可以设置一个图标。
先添加一个图像列表控件,此控件只装载图像,不显示任何内容。

给 ImageList1 控件添加图像

再把 ListView1 绑定这个控件,如果显示的只是列表,就绑定小图标即可

添加数据时,设置图像索引即可,索引就是 ImageList1 控件里的第几个图像

   Dim 行 As Long = ListView1.AddItem("0数据",0,图像控件的索引)
   ListView1.SetItemText(行, 1, "1数据")

列表自绘

本控件支持自绘,需要在设计属性里,打勾

代码绘画在事件里(注:每一行每一列都触发一次事件,比如:10行,4列,那么就要触发10*4=40次事件。)

Function Form1_ListView1_OwnerDraw(hWndForm As hWnd, hWndControl As hWnd,lpdis As DRAWITEMSTRUCT) As LResult

   Function = FALSE ' 如果处理了此事件,则应返回 TRUE 。
End Function

评论一下?

OωO
取消