Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by SirThornberry,
15. Jan 2006
ich hatte bei mir unter delphi7 den Effekt wenn ich den Text ändere (im Designer) das die Farbe sich auch nicht geändert hat. Dementsprechend hab ich das ganze noch erweitert und jetzt funktionierts bei mir. Vielleicht behebt das auch den Effekt von dir:
type
TEdit = class(StdCtrls.TEdit)
protected
fCheckEmpty: Boolean;
fEmptyColor: TColor;
fNonEmptyColor: TColor;
...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by SirThornberry,
15. Jan 2006
ich hab eine Vermutung, aber eben nur eine Vermutung. Wenn du das Edit vom Form kopierst ist das property "Color" gesetzt. Wenn du jetzt die Componente auf dem anderen Form wieder einfügst wird das Property Color auch gesetzt was ja im ersten Form den Wert von ColorEmpty hatte. Man müsste also noch das Property Color überschreiben.
Ich seh grad das Color so ein Property ist wo man nicht...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by SirThornberry,
15. Jan 2006
keine Ahnung ob es solch eine Liste gibt, ich schau bei sowas in den sourcen nach bzw. verbiege das Event wenn ich die Methode nicht finde. In dem Fall hab ich also geschaut wo das onChange ausgelöst wird.
Ich hab so eben mal einen Blick in die Hilfe schweifen lassen um zu sehen ob bei OnChange vermerkt ist das man mit überschreiben der "Change"-Methode da noch was dazu basteln kann. Und Siehe...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by SirThornberry,
14. Jan 2006
so, hab geschaut. TCustomEdit hat die Methode "Change". Diese also überschreiben (darin die Farbe setzen) und dann inherited.
@mkinzler: Wie ich gerade sehe hast du auch vergessen die Farben zu initialisieren mit standardwerten.
type
TEdit = class(StdCtrls.TEdit)
protected
fCheckEmpty: Boolean;
fEmptyColor: TColor;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by SirThornberry,
14. Jan 2006
du müsstest schauen wo das OnChange ausgelöst wird und die methode überschreiben (falls es eine methode gibt). In der Regel ist das eine Methode namens doChange etc.
Wenn dem nicht so ist musst du entweder von TCustomEdit ableiten (und das Onchange nicht nach außen reichen) und das OnChange dann wie normal auf eine Private/Public/protected-Procedure zuweisen oder das OnChange umbiegen.
...