| 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. |
|