Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Selbstreduzierende ComboBox (https://www.delphipraxis.net/14661-selbstreduzierende-combobox.html)

bttb930 13. Jan 2004 15:13


Selbstreduzierende ComboBox
 
ComboBoxen sind ja schön und gut wenn sie sortiert sind, aber was macht man wenn sie unsortiert sind? So wie beispielsweise die Syntax-Hilfe, die automatisch erscheint wenn nach einem Klassennamen einen Punkt eingibt. Die Einträge in der Liste sind nicht alphabetisch sortiert und erschweren es so, einen bestimmten Eintrag zu finden, dessen korrekte Schreibweise man nicht kennt.

Ich hätte gerne eine Combobox, die bei Eingabe von Zeichen sich selbst so reduziert, dass nur noch die Items angezeigt werden, die mit diesen Zeichen beginnen. Wenn ich beispielsweise TStringList.I schreibe, dann stehen da nur noch InitInstance, InstanceSize, InheritsFrom usw, aber nicht ClassName etc.

Hat jemand in diesem Forum mal etwas in der Art programmiert? Oder wo finde ich so eine Komponente? Oder gibt es sie vielleicht sogar schon in einer höheren Delphi-Version als der, die ich besitze (D5)?

himitsu 13. Jan 2004 15:29

Re: Selbstreduzierende ComboBox
 
Also in D7 ist das schon drin, so wie du es willst (bei D6 weiß ich es nicht)

bttb930 13. Jan 2004 15:49

Re: Selbstreduzierende ComboBox
 
Ich mein mit "is drin" aber nicht, ob es im Quelltext-Editor so läuft, sondern ob man derartige Comboboxen als Komponente vorfindet und in eigene Forms einbinden kann.

himitsu 13. Jan 2004 16:06

Re: Selbstreduzierende ComboBox
 
ach so :wall:

wenn es eine derartige Komponente in D7 gibt, dann hab ich die noch nicht gefunden

moritz 13. Jan 2004 16:12

Re: Selbstreduzierende ComboBox
 
Hallo

Im Prinzip ist die Programmierung nicht schwer:
Du legtst dir eine TStringList mit allen verfügbaren Items an, und bei einem eingabefeld machst du onKeyDown. Jetzt folterst du mit einer for-schleife alle, was z.B. ein "I" vorne hat (Pos()<2) und fügst das der Bux hinzu.
Fertig.

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz