发布于 2008-05-24 05:14:49
0楼
首先要搞清楚ListView控件各列项目的关系,ListView控件中第一列的项目是主项,其余列的项都是第一列的子项,列数是子项数加一。所以说参数ObjectItem指向的是第一列,也就是主项。要获取其他列的内容,就是要获取ObjectItem的子项。下面有个简单的例子:
' 先在open picture时添加内容
Sub Open()
Dim obj
Set obj = ScreenItems("MyListView")
obj.ColumnHeaders.Add , "Name", "Name"
obj.ColumnHeaders.Add , "Gender", "Gender"
obj.ColumnHeaders.Add , "Age", "Age"
Dim item
Set item = obj.ListItems.Add(1, "ZS", "Zhang San")
item.SubItems(1) = "male"
item.SubItems(2) = "19"
Set item = obj.ListItems.Add(1, "LS", "Li Si")
item.SubItems(1) = "female"
item.SubItems(2) = "20"
Set item = Nothing
Set obj = Nothing
End Sub
' ListView控件的ItemClick事件
Sub ItemClick(ByVal Item, ByRef ObjectItem)
Dim strItem
strItem = "Line" & ObjectItem.Index & ": "
strItem = strItem & ObjectItem.Text & vbTab & vbTab
strItem = strItem & ObjectItem.SubItems(1) & vbTab
strItem = strItem & ObjectItem.SubItems(2) & vbLf
HMIRuntime.Trace(strItem)
End Sub
ps: 不爽的是ColumnHeaders的SubItemIndex属性不被支持,所以不能根据列名来索引了,只能用序号。