VB-Homepage Tipp 131

Textsuche in Listboxen

Sie möchten gern wissen, ob ein Eintrag in einer Listbox vorhanden ist
und je nachdem entsprechend darauf reagieren.
Na bitte, dann ist dies Ihr Tipp und Sie werden sehen, wie so oft, wenn man es weiß, dann ist es einfacher als man denkt.

In diesem Fall ist SendMessage die Lösung.
Und was hier in einer Listbox läuft, sollte auch anderweitig anwendbar sein.

suchtext.vbp
Form=suchtext.frm
ProjWinSize=133,380,248,215
ProjWinShow=2
IconForm="Form1"
Title="Textsuche in Listbox"
ExeName32="suchtext.exe"
Name="Projekt1"
HelpContextID="0"
StartMode=0
VersionCompatible32="0"
MajorVer=1
MinorVer=0
RevisionVer=0
AutoIncrementVer=0
ServerSupportFiles=0

suchtext.frm
VERSION 4.00
Begin VB.Form Form1
Caption = "VB-Homepage Tipp"
ClientHeight = 2775
ClientLeft = 1140
ClientTop = 1515
ClientWidth = 7305
Height = 3180
Left = 1080
LinkTopic = "Form1"
ScaleHeight = 2775
ScaleWidth = 7305
Top = 1170
Width = 7425
Begin VB.CommandButton Command3
Caption = "Suche Trabant"
Height = 255
Left = 5040
TabIndex = 3
Top = 2280
Width = 1935
End
Begin VB.CommandButton Command2
Caption = "Suche Volvo"
Height = 255
Left = 2640
TabIndex = 2
Top = 2280
Width = 1935
End
Begin VB.CommandButton Command1
Caption = "Suche Honda"
Height = 255
Left = 240
TabIndex = 1
Top = 2280
Width = 1935
End
Begin VB.ListBox List1
Height = 1620
Left = 240
TabIndex = 0
Top = 480
Width = 6735
End
Begin VB.Label Label1
Alignment = 2 'Center
Caption = "Überprüfen ob ein Suchtext in einer Listbox vorhanden ist. (ggf. markieren)"
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "Arial"
Size = 9.75
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 120
TabIndex = 4
Top = 120
Width = 7095
End
End
Attribute VB_Name = "Form1"
Attribute VB_Creatable = False
Attribute VB_Exposed = False
Const LB_FINDSTRING = &H18F
Const LB_FINDSTRINGEXACT = &H1A2
Private Declare Function SendMessageAsString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Private Sub Command1_Click()
pos = SendMessageAsString(List1.hwnd, LB_FINDSTRING, 0, "Honda")
If Not pos = -1 Then
List1.ListIndex = pos
Else
MsgBox "Kein Eintrag vorhanden"
End If
End Sub
Private Sub Command2_Click()
pos = SendMessageAsString(List1.hwnd, LB_FINDSTRING, 0, "Volvo")
If Not pos = -1 Then
List1.ListIndex = pos
Else
MsgBox "Kein Eintrag vorhanden"
End If
End Sub
Private Sub Command3_Click()
pos = SendMessageAsString(List1.hwnd, LB_FINDSTRING, 0, "Trabant")
If Not pos = -1 Then
List1.ListIndex = pos
Else
MsgBox "Kein Eintrag vorhanden"
End If
End Sub
Private Sub Form_Load()
List1.AddItem "Audi"
List1.AddItem "Alfa Romeo"
List1.AddItem "BMW"
List1.AddItem "Crysler"
List1.AddItem "Fiat"
List1.AddItem "Ferrari"
List1.AddItem "Honda"
List1.AddItem "Mitsubishi"
List1.AddItem "Proton"
List1.AddItem "Rover"
List1.AddItem "Saab"
List1.AddItem "Volvo"
List1.AddItem "VW"
End Sub

Um den Code zu nutzen, erstellen Sie sich mit einem Editor (z.Bsp. Notepad) Dateien die Sie wie angegeben benennen und kopieren Sie den Code hinein. Speichern Sie Ihre Datei ab und öffnen Sie das Projekt entweder direkt aus einem Dateimanager oder öffnen Sie Ihre VB Software und laden sich das Projekt.

Tipp-Download

Quelle :

Zurück zur Übersichtsseite