Einzelnen Beitrag anzeigen

Benutzerbild von Corelgott
Corelgott

Registriert seit: 11. Apr 2003
Ort: Lübeck
213 Beiträge
 
Delphi 2006 Enterprise
 
#1

Eine Combo-Box "durch den Filter jagen"

  Alt 21. Nov 2005, 08:42
Hi @ all,

ich habe ein problem; (mal wieder)

und zwar habe ich eine ganz normale combo;
Ich möchte aber die einträge filtern; d.h. ich möchte einen text tippen und zeichen nach zeichen nur noch die Listeneinträge übrig lassen, die noch in frage kommen;

Vergleichbar mit der Adressen-Filter-Funktion wie man sie aus dem IE oder FireFox kennt, wenn man in die adressleiste eine url tippt.

Das problem ist bloß:

ich versuche es zur zeit so:
Ich sammel mit im speicher eine StringList, die komplett gefiltert ist.
Danach weise ich der Combo diese Stringlist zu -> Combo.Items := StringList;

An sich klappt das auch aber:

wenn ich in der Combo autocomplete an habe und die neue Liste zuweise, wir der erste eintrag "ausgewählt".
Das führt dazu, dass die Combo ihren text ändert. (inkl. KeyUp, Down & Pressed)

Darauf reagiere ich dann wieder (text hat sich ja verändert) und die Combo filtert wieder;
Ich löse also ungewollt das Event aus, auf das ich reagieren will.

Das ende vom Lied ist einfach: Den ersten eingebenen Bustaben filtert er richtig. Danach "läuft er so lange" bis der Combo Eintrag der ausgewählt ist genau dem ersten Eintrag ist

Bsp:
[liste]
abc
baa
bca
bcc
cba[/liste]

nun tippe ich ein b ein:
[liste]
baa
bca
bcc[/liste]
Der text der Combo ändert sich auf baa.

löst also das event KeyPressed "a" aus.
[liste]
baa[/liste]

... usw ..

Hat da wer ne idee, wie man das umgeht?!
Bin echt dankbar für jede anregung!


thx & cya
Corelgott
  Mit Zitat antworten Zitat