Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Problem Autovervollständigen
Hendrik - So 16.03.08 17:57
Titel: Problem Autovervollständigen
Hey!
Ich habe in einem Editfeld eine Autovervollständigenfunktion bei OnKeyUp hinterlegt.
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| i:=length(edit.text); if table.Locate('feld',edit.text,[loCaseInsensitive, loPartialKey]) then begin edit.text:=table.fieldbyname('feld').asstring; edit.selstart:=i; edit.sellength:=length(edit.text)-i; end; |
Leider habe ich hier das Problem, dass es bei einer schnellen Eingabe Probleme gibt. Dann wird das angegebene Zeichen hinter den Autotext (von dem es sich unterscheidet) gesetzt und die Eingabe stimmt nicht mehr.
Hat jemand eine Idee, wie ich es anders machen kann?
Fabian E. - Mo 17.03.08 01:52
naja so wie ich das jetzt verstanden habe schreibst du etwas ins Edit, das wird vervollständigt und dann ist bei schnellem schreiben hintendran das nächste zeichen?
ich würde es so lösen, das erst bei einer 0,5 sekündigen pause nach OnKeyUp das ganze passiert.
also eine Timer der im OnKeyUp aktiviert, bzw. im OnKeyDown deaktiviert wird.
gruß
Hendrik - Di 18.03.08 01:41
Das ist ne gute Idee! Danke!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!