Search Listboxes as you Type
Posted
by Clyde Saye
on October 13th, 2003
Search as you type
By changing the SendMessage Function's "ByVal wParam as Long" to "ByVal wParam as String", we change the search ability from first letter only, to "change-as-we-type" searching.
Here's some example code. Start a new Standard EXE project and add a ListBox (List1) and a TextBox (Text1), then paste in the following code :
option Explicit
'Start a new Standard-EXE project.
'Add a textbox and a listbox control to form 1
'Add the following code to form1:
private Declare Function SendMessage Lib "User32" _
Alias "SendMessageA" (byval _
hWnd as Long, _
byval wMsg as Integer, _
byval wParam as string, _
lParam as Any) as Long
Const LB_FINDSTRING = &H18F
private Sub Form_Load()
With List1
.Clear
.AddItem "RAM"
.AddItem "rams"
.AddItem "RAMBO"
.AddItem "ROM"
.AddItem "Roma"
.AddItem "Rome"
.AddItem "Rommel"
.AddItem "Cache"
.AddItem "Cash"
End With
End Sub
private Sub Text1_Change()
List1.ListIndex = SendMessage(List1.hWnd, LB_FINDSTRING, _
Text1, byval Text1.Text)
End Sub
Download zipped project file (2k)

Comments
There are no comments yet. Be the first to comment!