Den neuen Standardwert für die Eigenschaft festlegen
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.