zulme karşı mukavemet!
Süper Üye
[font='Titillium Web', sans-serif]'Listbox taki bilgiyi bulmak bazen bir program icin vakit kaybi olusturabilir. Asagiya kolarini ekledigim kaynak sayesinde listbox'ta bir bilgiyi bulmaz cok hizli ve kolay...[/FONT]
[font='Titillium Web', sans-serif]'Eminimki bircok arkadasin isine yarayacaktir.[/FONT]
[font='Titillium Web', sans-serif]PrivateDeclareFunction SendMessageStr Lib "user32" Alias "SendMessageA" (ByVal hwnd AsLong, ByValwMsg AsLong, ByValwParam AsLong, ByVal lParam AsString) AsLong[/FONT]
[font='Titillium Web', sans-serif]PrivateConst LB_ERR = (-1)[/FONT]
[font='Titillium Web', sans-serif]Function ListFindText(iListBox As ListBox, iFindText AsString, OptionalByVal iFromIndex AsLong = -1, OptionalByValiSelect AsBoolean = True) AsLong[/FONT]
[font='Titillium Web', sans-serif]Dim nMsg AsLong[/FONT]
[font='Titillium Web', sans-serif]Dim nIndex AsLong[/FONT]
[font='Titillium Web', sans-serif]Const LB_FINDSTRING = &H18F[/FONT]
[font='Titillium Web', sans-serif]Const LB_SELECTSTRING = &H18C[/FONT]
[font='Titillium Web', sans-serif]Const LB_FINDSTRINGEXACT = &H1A2[/FONT]
[font='Titillium Web', sans-serif]SelectCase iExact[/FONT]
[font='Titillium Web', sans-serif]CaseFalse[/FONT]
[font='Titillium Web', sans-serif]SelectCase iSelect[/FONT]
[font='Titillium Web', sans-serif]CaseTrue[/FONT]
[font='Titillium Web', sans-serif]nMsg = LB_SELECTSTRING[/FONT]
[font='Titillium Web', sans-serif]CaseFalse[/FONT]
[font='Titillium Web', sans-serif]nMsg = LB_FINDSTRING[/FONT]
[font='Titillium Web', sans-serif]EndSelect[/FONT]
[font='Titillium Web', sans-serif]ListFindText = SendMessageStr(iListBox.hwnd, nMsg, iFromIndex, iFindText)[/FONT]
[font='Titillium Web', sans-serif]CaseTrue[/FONT]
[font='Titillium Web', sans-serif]With iListBox[/FONT]
[font='Titillium Web', sans-serif]nIndex = SendMessageStr(.hwnd, LB_FINDSTRINGEXACT, iFromIndex, iFindText)[/FONT]
[font='Titillium Web', sans-serif]If iSelect Then[/FONT]
[font='Titillium Web', sans-serif].ListIndex = nIndex[/FONT]
[font='Titillium Web', sans-serif]EndIf[/FONT]
[font='Titillium Web', sans-serif]EndWith[/FONT]
[font='Titillium Web', sans-serif]ListFindText = nIndex[/FONT]
[font='Titillium Web', sans-serif]EndSelect[/FONT]
[font='Titillium Web', sans-serif]EndFunction[/FONT]
[font='Titillium Web', sans-serif]PrivateSub Form_Load()[/FONT]
[font='Titillium Web', sans-serif]Me.Caption = "FindList"[/FONT]
[font='Titillium Web', sans-serif]For X = 1 To 100000[/FONT]
[font='Titillium Web', sans-serif]List1.AddItem ("Test") & X[/FONT]
[font='Titillium Web', sans-serif]Next X[/FONT]
[font='Titillium Web', sans-serif]Text1.Text = ""[/FONT]
[font='Titillium Web', sans-serif]EndSub[/FONT]
[font='Titillium Web', sans-serif]PrivateSub Text1_Change()[/FONT]
[font='Titillium Web', sans-serif]ListFindText List1, Text1.Text, -1, True[/FONT]
[font='Titillium Web', sans-serif]EndSub[/FONT]