Komponenten Eigenschaften...
moin
mal ne frage: ich hab ne komponente geschrieben funzt einwandfrei nur eine sache ist unschön. wenn ich die auf mein formular ziehe wird sie wunderbar gezeichnet. jetzt ändere ich eine eigenschaft die das aussehen der kompo verändern soll und die komponente soll neu gezeichnet werden! das aussehen wird aber erst geändert wenn ich die komponente ich sie auf dem formular zb. verschiebe. es geht mir nur um die designer zeit nicht zur laufzeit da geht alles! |
Re: Komponenten Eigenschaften...
Du solltest z.B. durch Aufruf von Invalitate der VCL/Windows mitteilen das ein neuzeichnen des Controls nötig ist.
|
Re: Komponenten Eigenschaften...
Die Funktion heisst Invalidate.
Eine typische Set-Methode einer Property sieht so aus:
Delphi-Quellcode:
Der Grund fuer die if-Abfrage ist, das Invalidate eine moeglicherweise sehr zeitaufwendige Sache ist.
TMyComponent.SetMyProp(Value: TWhatever);
begin if FMyProp <> Value then begin FMyProp := Value; Invalidate; end; end; Es wird mit hoher Wahrscheinlichkeit das ganze Fenster neu gezeichnet, also unterdrueckt man ueberfluessige Zuweisungen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:03 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