15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту

 


Как отфильтровать содержимое Listbox взависимости от того, что было выделено

Следующий код работает по принципу “Selected items only”.

Private Sub Form_Load()

    'ListBox Style should be Checkbox
    List1.AddItem “a”
    List1.AddItem “b”
    List1.AddItem “c”

End Sub

Private Sub cmdHide_Click()
    Call FilterSelection(List1, True)
End Sub

Private Sub cmdShow_Click()
    Call FilterSelection(List1, False)
End Sub

Private Sub FilterSelection(ByRef lstUnfiltered As ListBox, 
bHideSelected As Boolean)

    Dim lCounter As Long

    Do While lCounter < lstUnfiltered.ListCount
        If lstUnfiltered.Selected(lCounter) = bHideSelected Then
            lstUnfiltered.RemoveItem (lCounter)
        Else
            lCounter = lCounter + 1
        End If
    Loop

End Sub