Rendu des composants FireMonkey

De RAD Studio
Aller à : navigation, rechercher

Remonter à Guide des composants FireMonkey


Rendu des composants 2D de base

Pour comprendre le rendu des composants, considérez d'abord la hiérarchie des classes FMX appropriée. TFmxObject se ramifie à partir de TComponent pour former la racine FMX, en fournissant le cycle de vie des objets. Ce qui provient de TControl encapsule un canevas et ajoute la fonctionnalité de dessin.

Les deux branches appropriées de TControl sont les classes primitives de l'unité FMX.Objects, et les contrôles stylés avec interaction de l'utilisateur des unités FMX.Controls, FMX.ExtCtrls, et d'autres unités. Les primitives incluent de tels objets, comme les formes et les images :

et leurs descendants, tels que :

Les contrôles stylés descendent de TStyledControl et incluent :

Dessin et composition

Les primitives redéfinissent la procédure TControl.Paint et dessinent directement sur le canevas. Chaque style qui renferme un TStyledControl est un arrangement d'une arborescence de sous-contrôles et de primitives. Un style est résolu finalement en un ensemble superposé de primitives, qui dessinent à leur tour sur le canevas pour effectuer un rendu du contrôle.

Un composant personnalisé peut être dessiné avec une technique ou l'autre, ou une combinaison des deux avec un contrôle qui contient les primitives personnalisées.

  • Pour les primitives personnalisées, vous pouvez sous-classer directement TControl ; ou TShape, qui a plusieurs pinceaux et un rectangle de délimitation. Ajoutez les propriétés nécessaires, puis redéfinissez TControl.Paint pour dessiner sur le TControl.Canvas.
  • Les sous-classes de TStyledControl tenteront de trouver leur ressource de style parmi celles assignées à la propriété StyleBook de la fiche, en utilisant une simple routine de recherche basée sur les noms de classes de TStyledControl.GetStyleObject.
    • Les développeurs d'applications peuvent toujours personnaliser les contrôles en créant un style avec le nom adéquat. Ce style s'appliquera automatiquement à toutes les instances du contrôle. Ils peuvent aussi assigner des styles à des contrôles individuels en définissant la propriété StyleLookup.
    • Les artistes de thèmes de styles peuvent inclure des styles pour les contrôles personnalisés en créant un style avec le nom adéquat dans leur thème.
    • Pour définir l'apparence du contrôle en l'absence d'un style correspondant, un concepteur de composants peut redéfinir GetStyleObject.

Voir aussi