Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Text-Farbe eines INAKTIVEN TEdit umstellen (https://www.delphipraxis.net/96364-text-farbe-eines-inaktiven-tedit-umstellen.html)

MatthiasR 23. Jul 2007 09:47


Text-Farbe eines INAKTIVEN TEdit umstellen
 
Gibt es eine Möglichkeit, bei einem inaktiven (Enabled = False) TEdit-Feld die Textfarbe zu bestimmen? Standardmäßig wird ja der Text einfach nur ausgegraut. Dadurch erkenne ich aber nicht, ob der Text beispielsweise in aktivem Zustand eigentlich rot oder grün ist. Die Eigenschaft ReadOnly hierfür zu verwenden ist in meinem Fall leider nicht möglich.

Vielen Dank für die Hilfe!

SirThornberry 23. Jul 2007 09:49

Re: Text-Farbe eines INAKTIVEN TEdit umstellen
 
direkt sollte es nicht möglich sein weil die Farben durch windows bestimmt werden sobald das Edit-Window auf Enabled = false ist.
Wenn du das Edit zum Beispiel auf ein Panel packst und das Panel auf Enabled = False setzt kannst du nicht mehr an das Edit (weil der Parent nicht enabled ist) aber kannst weiterhin die Farben des Edits über die Std-Properties setzen.

RavenIV 23. Jul 2007 09:55

Re: Text-Farbe eines INAKTIVEN TEdit umstellen
 
Bei Standard-Komponenten (wie das TEdit) geht das nicht, weil dann die Farben von Windows gesetzt werden.
Das TEdit ist nur ein Wrapper für das Windows-Eingabefeld.

Es gibt aber Komponenten, die das können.
z.B. die ganzen Editfelder von DevExpress (die kosten aber Geld).

Du kannst ja mal bei toory.net suchen, ob es da auch was im Freeware-Bereich gibt.

MatthiasR 23. Jul 2007 10:09

Re: Text-Farbe eines INAKTIVEN TEdit umstellen
 
Auf andre Komponenten zu setzen dürfte schwierig werden, weil ich in meinem Fall dieses verhalten gerne in eine eigene Komponente einbauen würde, die von einem TEdit bzw. TCustomEdit abgeleitet ist. Aber der Vorschlag mit dem Panel ist eine super Idee, hat den gewünschten Effekt und vereinfacht mir mein Vorhaben ungemein, da ich damit gleich viele Objekte auf einmal disablen kann! Ich denke, so werde ich das ganze dann machen.

Vielen Dank!

scrat1979 23. Jul 2007 11:10

Re: Text-Farbe eines INAKTIVEN TEdit umstellen
 
Zitat:

Zitat von Infect
Auf andre Komponenten zu setzen dürfte schwierig werden, weil ich in meinem Fall dieses verhalten gerne in eine eigene Komponente einbauen würde, die von einem TEdit bzw. TCustomEdit abgeleitet ist. Aber der Vorschlag mit dem Panel ist eine super Idee, hat den gewünschten Effekt und vereinfacht mir mein Vorhaben ungemein, da ich damit gleich viele Objekte auf einmal disablen kann! Ich denke, so werde ich das ganze dann machen.

Vielen Dank!

Wenn es eine eigene Komponente werden soll, dann mache doch eine neue Eigenschaft (myÉnabled....) bzw. - falls möglich - überschreibe einfach die Enabled-Eigenschaft und fügte eine neue TColor-Eigenschaft (z.B. DisbledColor) hinzu. Die Farbe weißt Du einfach bei SetMyEnabled zu und prüfst im überschriebenen Onkeypress-Event, ob MyEnabled auf false steht. Falls ja, dann sollen keine Tastatureingeben mehr möglich gemacht werden (key oder char heißt das glaub := #0). Dürfte alles relativ einfach sein.

SCRaT


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