Création d'un contrôle primitif FireMonkey

De RAD Studio
Aller à : navigation, rechercher

Remonter à Guide des composants FireMonkey

Dans ce tutoriel, vous allez créer un contrôle primitif FireMonkey qui dessine un polygone ordinaire dans une fiche multi-périphérique.

Les contrôles primitifs, à l'inverse des contrôles stylés, ne changent pas leur apparence en fonction de la sélection d'un style. Pour un contrôle primitif, vous pouvez changer l'apparence, telle que la couleur de l'arrière-plan, à l'aide de propriétés (telles que la propriété Fill). Pour comprendre les relations entre ces types de contrôles, voir Contrôles primitifs et contrôles stylés FireMonkey.

Le contrôle créé dans ce tutoriel est nommé TRegularPolygon, et il a une propriété NumberOfSides qui spécifie le nombre de côtés. Puisqu'il s'agit d'un polygone ordinaire, le même nombre s'applique aux bords et aux sommets.

Composants TRegularPolygon

Voici divers polygones avec des valeurs différentes pour la propriété NumberOfSides :

TRegPolygon.png

L'exigence minimale pour un contrôle primitif est de redéfinir la méthode Paint pour se dessiner lui-même. Pour ce faire, un contrôle primitif utilise la propriété Canvas. Par exemple, voici l'implémentation de la méthode Paint pour la classe TEllipse

procedure TEllipse.Paint;
begin
  Canvas.FillEllipse(GetShapeRect, AbsoluteOpacity);
  Canvas.DrawEllipse(GetShapeRect, AbsoluteOpacity);
end;

Les objets du canevas fournissent de nombreuses méthodes qui utilisent en interne la GPU pour maximiser les performances de l'opération de dessin pour chaque plate-forme. Vous n'avez donc pas à vous soucier de l'optimisation des performances pour chaque plate-forme (telle que Windows et macOS).

Une autre méthode que vous devrez probablement redéfinir est la méthode PointInObject. Cette méthode permet au framework FireMonkey de savoir si le point spécifié appartient à un objet. Avec cette information, le framework FireMonkey peut évaluer si un composant doit être redessiné, ou si la souris accède à un contrôle.

Etapes

Voici les étapes de base impliquées dans la création d'un contrôle primitif FireMonkey :

Voir aussi