Einzelnen Beitrag anzeigen

teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#9

Re: Neue Komponente / Properties speichern ?

  Alt 23. Sep 2004, 18:19
Auch wenn mich das nicht so stören würde, vermute ich, dass es eine Lösung gibt. (Habe es allerdings noch nicht probiert...)
Ich fange mal mit 'Color' an. In der VCL ist Color folgendermaßen deklariert:
Zitat von VCL:
property Color: TColor read FColor write SetColor stored IsColorStored default clWindow;
D.h. die Eigenschaft wird nur gespeichert, wenn die Funktion IsColorStored True zurückliefert.
Die sieht so aus:
Zitat von VCL:
function TControl.IsColorStored: Boolean;
begin
Result := not ParentColor;
end;
Wenn Du in Deiner Editklasse diese Methode so überschreibstResult := Not(ParentColor) And Not(OnlyShow); wird Color nur noch gespeichert, falls OnlyShow auf False steht (und ParentColor natürlich auch).

Für das Cursor-Property kannst Du Dir das analog basteln, dafür gibt es allerdings noch keine IsCursorStored Funktion, die musst Du komplett neu machen und auch die stored-Direktive in die Property-Deklarartion übernehmen.
Den Quelltext der VCl hast Du ja, ist alles in controls.pas.

Übrigens würde ich die Farbe nicht stur auf clBtnFace setzen sondern auf (Parent as TWinControl).Color, falls das Form mal eine andere Farbe hat.

Wie gesagt, da ganze ist nur eine Idee, habe es nicht probiert...

Gruß, teebee
  Mit Zitat antworten Zitat