Hızlı Arama (Listbox VB 6.0)

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
zulme karşı mukavemet!
Süper Üye
Katılım
7 Ocak 2016
Mesajlar
1,357
Çözümler
20
Tepki puanı
386
Ödüller
11
10 HİZMET YILI
[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 AsLongByValwMsg AsLongByValwParam AsLongByVal lParam AsStringAsLong[/FONT]
[font='Titillium Web', sans-serif]PrivateConst LB_ERR = (-1)[/FONT]

[font='Titillium Web', sans-serif]Function ListFindText(iListBox As ListBox, iFindText AsStringOptionalByVal iFromIndex AsLong = -1, OptionalByValiSelect AsBoolean = TrueAsLong[/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]
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst