Konstruktor und Destruktor überschreiben

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Grafische Komponenten erzeugen - Index

Um die voreingestellten Eigenschaftswerte zu ändern und die Objekte Ihrer Klasse zu initialisieren, müssen Sie den geerbten Konstruktor und Destruktor überschreiben. Vergessen Sie nicht, in beiden Fällen die geerbte Methode aufzurufen.

Voreingestellte Eigenschaftswerte überschreiben

Nachdem die Komponente in der Voreinstellung etwas klein ausfällt, sollten Sie im Konstruktor die anfängliche Breite und Höhe ändern. Details darüber finden Sie unter Vorhandene Komponenten modifizieren.

In diesem Beispiel weisen Sie der Komponente eine Breite und Höhe von je 65 Pixel zu.

  1. Fügen Sie der Deklaration der Komponentenklasse den überschriebenen Konstruktor hinzu:
type
  TSampleShape = class(TGraphicControl)
  public                                                { Konstruktoren sind immer als public deklariert }
    constructor Create(AOwner: TComponent); override       { override nicht vergessen }
  end; 
class PACKAGE TSampleShape : public TGraphicControl
{
public:
    virtual __fastcall TSampleShape(TComponent *Owner);
};
2. Redeklarieren Sie die Eigenschaften Height und Width, und weisen Sie ihnen die neuen Standardwerte zu:
 type
  TSampleShape =</source></nowiki> class(TGraphicControl)
  .
  .
  .
  published
    property Height default 65;
    property Width default 65;
  end; 
class PACKAGE TSampleShape : public TGraphicControl
{
  .
  .
  .
__published:
    __property Height;
    __property Width;
}
3. Schreiben Sie im implementation-Abschnitt der Unit den Konstruktor:
constructor TSampleShape.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);  { Immer den geerbten Konstruktor aufrufen }
  Width := 65;
  Height := 65;
end; 
__fastcall TSampleShape::TSampleShape(TComponent* Owner) : TGraphicControl(Owner)
{
  Width = 65;
  Height = 65;
}