LISTVIEW(REPORT状态): 如何在鼠标滑到某行,则在鼠标右侧出现一框,框内显示该行某列的信息!类似资源管理器中当鼠标滑到某文件上,则鼠标右侧显示该文件的类型和大小!

解决方案 »

  1.   

    在_ItemClick事件中改写 tooltiptext属性
      

  2.   

    Option ExplicitPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Const LB_ITEMFROMPOINT = &H1A9Private Sub Form_Load()
        With List1
            .AddItem "陈锐  [email protected]"
            .AddItem "陈锐  [email protected]"
            .AddItem "陈锐  [email protected]"
        End With
    End SubPrivate Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
        Dim lXPoint As Long
        Dim lYPoint As Long
        Dim lIndex As Long
        If Button = 0 Then ' 如果没有按钮被按下
            lXPoint = CLng(X / Screen.TwipsPerPixelX)
            lYPoint = CLng(Y / Screen.TwipsPerPixelY)
            With List1
                ' 获得当前的光标所在的的屏幕位置确定标题位置
                lIndex = SendMessage(.hwnd, LB_ITEMFROMPOINT, 0, _
                ByVal ((lYPoint * 65536) + lXPoint))
                ' 显示提示行或清除提示行
                If (lIndex >= 0) And (lIndex <= .ListCount) Then
                    .ToolTipText = .List(lIndex)
                Else
                    .ToolTipText = ""
                End If
            End With
        End If
    End Sub
      

  3.   

    item_click事件
    然后设置listview的热跟踪属性为选中
      

  4.   

    我不想用click,想用鼠标滑过的时候实现
      

  5.   

    mousemove事件
    利用mousemove里面的x,y参数,再用listview1的hittest方法得到是哪个item,然后再作操作