我忘了,
Type pointapi
 x As Long
 y As Long
End Type
Public Declare Function GetCursorPos Lib "user32" (ippoint As pointapi) As Long  

解决方案 »

  1.   

    我不知道你究竟想做什么。没有MSGBOX是因为HITTEST没有得到listitem对象。
      

  2.   

    对我,我就是没有得到LISTITEM对象,因为我的坐标不对,好象也是没有加标题栏,但是我要怎么加啊,不知道啊,麻烦你告诉我好吗??
      

  3.   

    但是也不对啊,我刚刚将FORM设为没有边,还是不对,
    我发现X是一个负的值,有的时候,我就是要我双击listview中的一个listitem的时候,可以弹出一个MSGBOX,
    显示我双击的是哪个东东,
    但是我现在取的X,Y不对,
    我的是WIN2000系统,
      

  4.   

    有必要这么复杂吗
    Private Sub ListView1_DblClick()
        Dim litem As ListItem
        
        Set litem = ListView1.SelectedItem
        If litem Is Nothing Then Exit Sub
        If ListView1.View = lvwIcon Or ListView1.View = lvwSmallIcon Then
            litem.Selected = True
            msg = litem.Text & vbCrLf
            For i = 1 To litem.ListSubItems(i).Text & vbCrLf
                msg = msg & "   " & litem.ListSubItems(i).Text & vbCrLf
            Next
            MsgBox msg
        End If
    End Sub
      

  5.   

    GetCursorPos PA
        ScreenToClient TreeView.hWnd, PA
        With PA
            .X = .X * Screen.TwipsPerPixelX '- TreeView.Left
            .Y = .Y * Screen.TwipsPerPixelY '- TreeView.Top
        End With
        
        Set TmpNode = TreeView.HitTest(PA.X, PA.Y)
        If TmpNode Is Nothing Then Exit Sub
        If TmpNode.Tag <> NodeType_Data Then Exit Sub
    我用这种方法成功了!