Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

Re: AutoComplete für TMemo, TRichEdit uvm.

  Alt 15. Dez 2008, 10: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
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat