Redéfinition du constructeur et du destructeur
Remonter à Création d'un composant graphique - Index
Pour changer les valeurs par défaut des propriétés et initialiser les classes appartenant à votre composant, vous devez redéfinir le constructeur et le destructeur reçus en héritage. Dans les deux cas, n'oubliez pas d'appeler la méthode reçue en héritage.
Modification des valeurs par défaut des propriétés
La taille par défaut d'un contrôle graphique étant réduite, vous pouvez modifier sa largeur et sa hauteur dans le constructeur. La modification des valeurs par défaut des propriétés est abordée plus en détail dans Modification d'un composant existant.
Dans notre exemple, le contrôle forme définit sa taille par un carré de 65 pixels de côté.
- Ajoutez le constructeur redéfini dans la déclaration de la classe composant :
type
TSampleShape = class(TGraphicControl)
public { constructeurs toujours publics }
constructor Create(AOwner: TComponent); override { ne pas oublier la directive override }
end;
class PACKAGE TSampleShape : public TGraphicControl
{
public:
virtual __fastcall TSampleShape(TComponent* Owner);
};
- Redéclarez les propriétés Height et Width avec leurs nouvelles valeurs par défaut :
type
TSampleShape = class(TGraphicControl)
.
.
.
published
property Height default 65;
property Width default 65;
end;
class PACKAGE TSampleShape : public TGraphicControl
{
.
.
.
__published:
__property Height;
__property Width;
}
- Ecrivez le nouveau constructeur dans la partie implementation de l'unité :
constructor TSampleShape.Create(AOwner: TComponent);
begin
inherited Create(AOwner); { appeler toujours le constructeur hérité }
Width := 65;
Height := 65;
end;
__fastcall TSampleShape::TSampleShape(TComponent* Owner) : TGraphicControl(Owner)
{
Width = 65;
Height = 65;
}