获取ListBox中所有选中的项

Option Explicit
Private 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_GETSELITEMS = &H191

Private Sub Command1_Click()

    Dim ItemIndexes() As Long, x As Integer, iNumItems As Integer
    iNumItems = List1.SelCount

    If iNumItems Then
        ReDim ItemIndexes(iNumItems - 1)
        SendMessage List1.hwnd, LB_GETSELITEMS, iNumItems, ItemIndexes(0)
    End If
    For x = 0 To iNumItems - 1
        MsgBox List1.List(ItemIndexes(x)) '弹出对话框
    Next x

End Sub

Private Sub Form_Load()
    Dim i As Integer
    With List1
        For i = 0 To 10
            .AddItem "Item " & i
        Next
    End With
End Sub

 

After being passed to the SendMessage function, iNumItems holds the total number of selected items, and the ItemIndexes array holds the selected item index values. Notice, that you must pass a pointer to the ItemIndexes array, and not the array itself. Thus, we passed ItemIndexes(0) into the SendMessage function, not ItemIndexes().

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值