Visual Basic-Tipp: Automatische Suche in einem Listenfeld

Wenn der Fokus im Listenfeld liegt, scrollt dieses automatisch zum ersten Element, das mit dem eingegebenen Buchstaben beginnt. Es wird jedoch nicht automatisch Elemente auf der Basis von mehr als dem ersten Buchstaben markieren. Gibt man zum Beispiel „ap“ ein, möchte man sicherlich, dass im Feld das erste Element markiert wird, das mit „ap“ beginnt. Dieser Tipp erklärt, wie man dieses Verhalten mit der API-Funktion SendMessage realisieren kann. Die folgende Deklaration muss im Programm aufgenommen werden:


Public Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
ByVal lParam As String) As Long

Außerdem wird die folgende Konstante benötigt, die das Listenfeld auffordert, das erste Element mit der angegebenen Vorsilbe zu markieren:


Public Const LB_SELECTSTRING = &H18C

Zusätzlich zum Listenfeld erfordert diese Methode ein Textfeld. Der Anwender gibt im Textfeld den Text ein, und das Listenfeld wählt automatisch das erste hierzu passende Element aus. Die Nachricht wird in der Change-Event-Prozedur des Textfeldes gesendet:


Private Sub Text1_Change()
If Text1.Text  "" Then
SendMessage List1.hwnd, LB_SELECTSTRING, -1, Text1.Text
End If
End Sub

Für einen Anwender ist die Möglichkeit, Listenfelder auf der Basis von mehr als nur dem ersten Buchstaben auszusuchen, dann besonders nützlich, wenn die Liste zahlreiche Elemente beinhaltet.

ZDNet.de Redaktion

Recent Posts

Automatic SEO macht SEO günstiger und besser: Was steckt dahinter?

Suchmaschinenoptimierung (SEO) ist ein zentraler Faktor für den nachhaltigen Erfolg im digitalen Wettbewerb. Sie generiert…

1 Stunde ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

16 Stunden ago

Hacker missbrauchen Google Calendar zum Angriff auf Postfächer

Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…

2 Tagen ago

Bedrohungen in Europa: Schwachstellen in der Lieferkette dominieren

Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…

2 Tagen ago

Bericht: Apple arbeitet an faltbarem iPad

Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…

3 Tagen ago

HPE baut Supercomputer am Leibniz-Rechenzentrum

Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.

3 Tagen ago