Element in ListBox suchen

Element in ListBox suchen via SendMessage, LB_FINDSTRING
Um zu prüfen, ob sich ein Element bereits in einer ListBox befindet, muss man nicht alle Elemente über
eine Schleife durchgehen und vergleichen, bis das Element gefunden oder das Ende der ListBox
erreicht wurde. In folgendem Beispiel wird die Zeichenfolge "Peter" in der ListBox List1 gesucht:
Private Declare Function SendMessage Lib "user32.dll" Alias _
"SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As String) As Long
Private Const LB_FINDSTRING As Long = &H18F&
Private Sub Form_Load()
With Me.List1
Call .AddItem("Karl")
Call .AddItem("Peter")
Call .AddItem("Frank")
Call .AddItem("Brian")
Call .AddItem("Adam")
Call .AddItem("Peter")
End With
Debug.Print "Suche nach ""Peter"": " & _
CStr(SendMessage(Me.List1.hWnd, LB_FINDSTRING, -1&, "Peter"))
End Sub
Im Direktfenster wird die zuerst gefundene Positionsnummer der gesuchten Zeichenfolge ausgegeben;
die erste Position erhält Nummer Null; nicht gefundene Zeichenfolgen (z. B. Teilstrings) werden mit
minus 1 gekennzeichnet.

Mehr Tipps: Laufwerke, Ordner und Dateien in ListBox anzeigen

Sponsoren und Investoren

Sponsoren und Investoren sind jederzeit herzlich willkommen!
Wenn Sie die Information(en) auf dieser Seite interessant fanden, freuen wir uns über eine kleine Spende. Empfehlen Sie uns bitte auch in Ihren Netzwerken (z. B. Twitter, Facebook oder Google+). Herzlichen Dank!

Nach oben Sitemap
Impressum & Kontakt