Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TComboBox soll mitten drin im String Ergebnis liefern... (https://www.delphipraxis.net/170029-tcombobox-soll-mitten-drin-im-string-ergebnis-liefern.html)

SearchBot 26. Aug 2012 20:35

TComboBox soll mitten drin im String Ergebnis liefern...
 
Schwierig zu erklären und daher schwierig zu suchen..

Vielleicht kennst du das Problem:
Ich will in das Text-Feld ein paar Zeichen eingeben und die Combobox liefert mir den ersten Treffer dazu ausgewählt in der Pulldownliste.

Der Standard ist ja, daß es vom Anfang her die Items anzeigt; ich will aber, daß der Suchstring mitten im Item sein kann.

Also zB so:
Code:
Liste ist:
Dornröschen
Schneeweißchen
Aschenputtel
Rumpelstielzchen
Im Text gebe ich "nee" als Suchstring ein und die Combobox sollte dann "Schneeweißchen" anwählen.

Wie bekomme ich das mit der Standard-TCombobox hin? :oops:

mkinzler 26. Aug 2012 20:37

AW: TComboBox soll mitten drin im String Ergebnis liefern...
 
Selber auf Eingaben reagieren und die Liste Filtern/zu Eintrag springen

Helmi 26. Aug 2012 20:45

AW: TComboBox soll mitten drin im String Ergebnis liefern...
 
Hallo,

so was musst du selbst programmieren.

Vielleicht hilft dir dieser Link etwas dabei!

SearchBot 26. Aug 2012 21:29

AW: TComboBox soll mitten drin im String Ergebnis liefern...
 
Dass ich es mir selber programmieren muss, damit hab ich schon gerechnet.

Ich hab auch schon eine Lösung.

Im OnkeyPress schreibe ich
Code:
 with combobox1 do
 if upcase(key) in ['A'..'Z','0'..'9',#32,'-'] then
  Hint:=Hint+Key
 else Hint:='';
und im OnChange
Code:
with combobox1 do
  for I := 0 to Items.Count-1 do begin
   s:=Items[i];
   if pos(uppercase(hint),uppercase(s))>0 then begin
    itemindex:=i;
    break;
   end;
  end;
Das ist zwar nicht so elegant, aber es geht :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:12 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