Den neuen Standardwert für die Eigenschaft festlegen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Vorhandene Komponenten modifizieren - Index

Wenn die Beschreibung eines Formulars in der zugehörigen Formulardatei hinterlegt ist, werden nur diejenigen Eigenschaftswerte gespeichert, die von den Vorgaben abweichen. Die Formulardateien werden dadurch kompakt gehalten. Wenn Sie eine Eigenschaft erzeugen oder den Standardwert ändern, sollten Sie die Deklaration der Eigenschaft entsprechend anpassen. Details hierzu finden Sie unter Komponenten zur Entwurfszeit verfügbar machen.

Um den Standardwert einer Eigenschaft zu ändern, deklarieren Sie den Eigenschaftsnamen erneut und stellen Sie die Direktive default mit dem neuen Standardwert nach. Beachten Sie, dass Sie nicht die gesamte Eigenschaft zu redeklarieren brauchen, sondern nur den Namen und den Vorgabewert.

Bezogen auf das Beispiel hieße das, die Eigenschaft WordWrap in einem published-Abschnitt der Objektdeklaration mit dem Standardwert False zu versehen:



 type
   TWrapMemo = class(TMemo)
   .
   .
   .
   published
     property WordWrap default False;
   end;



 
 // Header-Datei
 class PACKAGE TYellowMemo : public TMemo
 {
 public:
     virtual __fastcall TYellowMemo(TComponent* Owner);
 __published:
     __property Color = {default=clYellow};
 };



 
 // Implmentierungsdatei
 __fastcall TYellowMemo::TYellowMemo(TComponent* AOwner) TMemo(AOwner)
 {
   Color = clYellow;
   WordWrap = false;
 }



 
 //Header-Datei mit WordWrap als <?Pub Caret?>Standardwert false:
 class PACKAGE TYellowMemo : public TMemo
 {
 public:
     virtual __fastcall TYellowMemo(TComponent* Owner);
 __published:
     __property Color = {default=clYellow};
     __property WordWrap = {default=false};
 };



Allein die Festlegung eines neuen Standardwertes beeinflusst noch nicht die Funktionsweise der Komponente. Der Wert muss trotzdem noch im Konstruktor initialisiert werden. Eine erneute Deklaration des Standardwertes stellt sicher, dass der Wert von WordWrap zum richtigen Zeitpunkt in die Formulardatei geschrieben wird.