Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   CustomEdit: TextHint immer sichtbar machen? (https://www.delphipraxis.net/204330-customedit-texthint-immer-sichtbar-machen.html)

Strict 20. Mai 2020 15:23

AW: CustomEdit: TextHint immer sichtbar machen?
 
Zitat:

Aber man kann es auch so einstellen, dass er Hint den Fokus nicht beachtet (also nur wenn leer). EM_SETCUEBANNER WPARAM=True <<< und das möche er haben
Nicht ganz. Der Hint soll immer sichtbar sein. Bei Eingabe von 123 soll ein Hint 123456 angezeigt werden.

Eine aktualiserte Version habe ich oben stehen.
Das hier scheint das zu machen was ich suche
Delphi-Quellcode:
     // Hint erst ab dem i'ten Zeichen zeichnen. I ist die Länge der Nutzereingabe
     // Beim i'ten Zeichen, das Rect.Left um 1 Pixel nach Links ausweiten. Damit gibt es keine abgeschnittenen Zeichen mehr
     if I = Length(Text) then
      Inc(R.Left, 1) // 
     else if I > Length(Text) then
      begin
       NewColor := clGray;
       DrawEx(TextHint[I]);
      end;

himitsu 20. Mai 2020 15:24

AW: CustomEdit: TextHint immer sichtbar machen?
 
Du willst also eigentlich nicht den TextHint, sondern die AutoComplete-Funktion des Edits haben.

Das ist dann aber bissl was anderes.



Das AutoComplete für Pfade, so wie im Explorer, oben im Edit, das ging mit einer Codezeile zu aktivieren.
Und MRU-Edits (mit eigenen Wortlisten) gibt es als Fremdkomponenten oder siehe https://docs.microsoft.com/en-us/pre...884(v%3Dvs.85)

Strict 20. Mai 2020 15:30

AW: CustomEdit: TextHint immer sichtbar machen?
 
An Autocomplete habe ich auch schon gedacht aber ich finde diese Funktion zu aggressiv.
Deswegen meine Umsetzuzng/Idee mit dem Hint als Hinweis.

Uwe Raabe 20. Mai 2020 16:04

AW: CustomEdit: TextHint immer sichtbar machen?
 
Zitat:

Zitat von Strict (Beitrag 1464949)
Der Hint soll immer sichtbar sein. Bei Eingabe von 123 soll ein Hint 123456 angezeigt werden.

Das ist aber ganz weit weg vom Standard.

Hast du mal versucht, erst den modifizierten Hint in Grau und danach den Text in normal zu zeichnen?
Delphi-Quellcode:
tempHint := StuffString(TextHint, 1, Length(Text), Text); // ersetzt die ersten Zeichen in TextHint durch Text
<Zeichne tempHint in grau>
<Zeichne Text in schwarz darüber>

Strict 20. Mai 2020 16:47

AW: CustomEdit: TextHint immer sichtbar machen?
 
Ich zeichne aktuell erst den Hint, dann den Text. Aber etwas anders.
Hint Beispiel 123456
Text Beispiel 123

Ich zeichne erst den Hint (_ = Leerzeichen, R.Left wird hochgezählt)
___456

Danach zeichne ich Text
123

und habe pixelgenau
123456


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 Uhr.
Seite 2 von 2     12   

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