如何在ListView的ListItem项目上以ToolTip显示指定的内容
如何在ListView的ListItem项目上以ToolTip显示指定的内容,比如显示鼠标所在数据项相关的信息,如:
Private Sub Form_Load()
ListView1.ColumnHeaders.Add , , "编号", 642
ListView1.ColumnHeaders.Add , , "数据一", 975, lvwColumnCenter
ListView1.ColumnHeaders.Add , , "数据二", 1125, lvwColumnCenter
ListView1.View = lvwReport '报表显示模式
ListView1.GridLines = True
For i = 1 To 50
Set mItem = ListView1.ListItems.Add()
mItem.Text = i
mItem.SubItems(1) = Int(Rnd(1) * 1000)
mItem.SubItems(2) = "test"
Next
End Sub
'---------------------
' 鼠标滑过某数据项
'---------------------
Private Sub ListView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim lstX As ListItem
Set lstX = ListView1.HitTest(x, y)
If Not (lstX Is Nothing) Then
'??如何通过ToolTip的形式显示指定的内容
End If
End Sub
问题点数:20、回复次数:3Top
1 楼tztz520(午夜逛街)回复于 2005-01-22 17:31:47 得分 20
Private Sub ListView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim A As Long, I As Long
Dim lstX As ListItem
Set lstX = ListView1.HitTest(100, y)
If Not (lstX Is Nothing) Then
A = x - ListView1.SelectedItem.Left
For I = 1 To ListView1.ColumnHeaders.Count
If (ListView1.ColumnHeaders(I).Left <= A) And (A <= ListView1.ColumnHeaders(I).Left + ListView1.ColumnHeaders(I).Width) Then
Debug.Print I
If I = 1 Then
ListView1.ToolTipText = lstX.Text
Else
ListView1.ToolTipText = lstX.ListSubItems(I - 1).Text
End If
Exit For
Else
ListView1.ToolTipText = ""
End If
Next I
Else
ListView1.ToolTipText = ""
Exit Sub
End IfTop
2 楼samwzhang(分全给我)回复于 2005-01-22 17:37:07 得分 0
晕倒啊,ListItem对象不是有ToolTipText属性的么?
如:listview1.listitems(1).ToolTipText="sdgfsdgdsg"就行了。Top
3 楼mndsoft(枕善居(http://www.mndsoft.com/)回复于 2005-01-22 17:45:44 得分 0
看看这个vsListview控件啊,体积小,功能大.超强媲美微软的Listview控件,如果做个小软件,为了用个网格控件,要用微软的listview的话,得打包1兆多的mscomctl.ocx.有了vsListview 超棒的网格控件,就不需要了,超级瘦身,比微软小,不比微软差。
详情请浏览我的网站:http://www.mndsoft.com
界面截图:http://www.mndsoft.com/blog/blogview.asp?logID=14
Top




