Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#12

Re: AutoComplete für TMemo, TRichEdit uvm.

  Alt 15. Dez 2008, 09:29
Tipps:
warum 'ne lokale Variable, wie z.B. comp, global in der Klase definieren?

als Owner (für die ListView) kannst du entweder das EditControl oder dessen .Parent verwenden.

wenn du in dieser for k:= 0 to wortzahl-1 do-Schleife viele Werte hinzufügen (Items.Add) willst, dann bietet sich Items.BeginUpdate und danach Items.EndUpdate an.
geht so schneller, da dann nichtmehr bei jedem Hinzufügen ein Update der StringList(ListView) ausgeführt wird.

die ListView sollte wieder ausgeblendet werden, wen sie nicht mehr benötigt wird. (z.B. das Edit verliert den Fokus)
in deinem Bild sieht man sogar gleich mehrere von diesen Dingern, zur selben Zeit.



kannst dich ja gern mal etwas umschauen:
  • Strg + Leertaste = Autovervollständigung sofort anzeigen
  • bei Eingabe eine Wortes, ab 3 Zeichen (Standard) Autovervollständigung anzeigen
  • Links/Rechts = Markierung (im Wort) ändern
  • Hoch/Runter/Bild Hoch/Bild Runter = in Liste Auswahl ändern
  • irgendwo hinklicken/ESC/Tab = abbrechen
  • Enter/Item anklicken = auswählen
  • Backspace/Zeichen eintippen = Wort/Auswahl ändern
  • Größe und Position der Auswahlbox ist unter dem EditControl (wenn's da hinpaßt), oder unter dem Cursor/Wort (in Memo und Co.), mit Breite des Controls, oder da, wie es angegeben ist (.Position und .Size)
  • via PopupMenü im Edit Wort hinzufügen
  • und über's PopupMenü der ListView Wort löschen
  • WortListe wird nicht von der Komponente gespeichert ... sollte man also selber machen
    z.B.: If AutoComplete._WordsChanged Then AutoComplete.SaveWordsTo.....
  • Tschuldschung, hab mir mal deine Wörterlisten gemopst



[edit] Datei siehe #17
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat