比如在Listview控件中显示了5条记录
如果在选中行处单击右建我希望弹出popmenu
如果在非选中行处单击右建我希望选中该行并且弹出popmenu做得就象资源管理器的情况
怎么做呢?
谢谢

解决方案 »

  1.   

    用selectitem的text就可以了你试试吧(好像是item的select的什么东东)
      

  2.   

    用这个函数:
    x,y是鼠标当前位置,可以从 mouseDown 事件得到;返回真值就会选择当前行,假值则表示没办法选定(比如点在空白处)Function selectItem(ByRef objLv As ListView, ByVal X As Single, Y As Single) As Boolean
    '选定MOUSE DOWN位置的ITEM
      
    On Error GoTo aErr    Dim objItem As ListItem
        
        Set objItem = objLv.HitTest(X, Y)
        objLv.ListItems(objItem.Index).Selected = True
        
        selectItem = True
        
        Exit Function
        
    aErr:
        selectItem = False
        
    End Function
      

  3.   

    在窗体定义两个公用变量,保存鼠标坐标
    dim xPos as single
    dim yPos as single'在listview的mousemove事件中,将当前鼠标坐标赋值给变量
    xPos=x
    yPos-y'在listview的mouseup事件中,用hittest方法测试点击位置,并判断
    if listview.hittest(xpos,ypos) is nothing then
        exit sub '忽略
    else
        popupmenu 菜单
    end if