Présentation des styles VCL

De RAD Studio
Aller à : navigation, rechercher

Remonter à Travailler avec les styles VCL


Qu'est-ce qu'un style

Vous pouvez changer l'apparence d'une application VCL en utilisant un style. Un style est :

  • Un ensemble de détails graphiques qui définissent l'aspect d'une application VCL.
  • Similaire à un thème dans Windows.

Un style vous permet de changer l'apparence de chaque partie et état d'un contrôle. Les contrôles VCL sont constitués de parties et d'états. Un style VCL est constitué d'un ensemble de valeurs pour chaque partie et état. Par exemple, une barre de défilement comprend les parties suivantes : le cadre, la glissière et les deux boutons pour chaque direction. Les boutons ont, par exemple, les états suivants : enfoncé, désactivé, sensible, normal.

Pour définir un style pour votre application VCL, définissez le style dans Projet > Options > Application > Apparence. Pour plus de détails, voir Apparence de l'application.

Remarque: Le style VCL change l'apparence de l'application en cours d'exécution. Cependant, le Concepteur de fiches n'affiche pas ces changements.

Emplacement des fichiers de styles (fichiers .vsf) :

  • Les styles VCL livrés avec le produit sont disponibles dans
    C:\Utilisateurs\Public\Documents\Embarcadero\Studio\21.0\Styles.
  • Vous pouvez obtenir de nouveaux styles VCL, disponibles dans le VCL premium style pack (EN).
  • En outre, vous pouvez redistribuer les styles (VCL ou FireMonkey) avec vos applications. Les fichiers de styles transmissibles se trouvent dans le répertoire d'installation du produit
    \Redist\styles.

Concepteur de styles de bitmaps

Vous pouvez créer vos propres styles, ou modifier des styles existants, en utilisant le Concepteur de styles de bitmaps, disponible dans le menu Outils. Pour plus de détails, voir Création d'un style à l'aide du Concepteur de styles de bitmaps.

Le Concepteur de styles de bitmaps supporte aussi la conversion d'un style VCL en style FireMonkey et fournit des applications de test pour tester les styles VCL, FireMonkey et FireMonkey Metro.

Gestion d'un style

Vous pouvez utiliser la fonction Vcl.Themes.StyleServices pour accéder par programme aux informations concernant le style en cours. Avec StyleServices, vous pouvez obtenir des informations sur les éléments et les contrôles stylés, et effectuer le dessin des contrôles. Voir Vcl.Themes.TCustomStyleServices pour une meilleure compréhension de l'interface Vcl.Themes.StyleServices.

Utilisez la classe Vcl.Themes.TStyleEngine pour recenser les classes hook de styles pour vos composants VCL personnalisés. Un hook de style est une classe que vous devez implémenter pour fournir la gestion des messages personnalisés pour votre contrôle personnalisé. Si un contrôle personnalisé nécessite un traitement visuel spécial, créez une classe hook de style qui traite les messages en héritant de Vcl.Themes.TStyleHook.

Utilisez la classe Vcl.Themes.TStyleManager pour charger, recenser et sélectionner des styles, ou pour obtenir, recenser et dérecenser un moteur de style.

Vous devez définir la possession du contrôle

Dans les applications VCL stylées, il est particulièrement important que tous les contrôles soient créés avec un propriétaire valide, tel que la fiche à laquelle ils appartiennent, afin que la VCL puisse les identifier comme partie de l'application stylée et leur appliquer le style configuré en conséquence.

Limitations

L'utilisation des styles VCL comporte certaines limitations. La section suivante liste ces limitations :

  • Les styles VCL ne sont pas dessinés lors de l'utilisation de option suggestion automatique d'un contrôle TComboBoxEx. Dans ce cas, la liste déroulante de suggestion automatique est toujours dessinée avec le thème Windows, même si un style VCL est actif. Cependant, le style VCL est dessiné correctement lors de l'utilisation de la liste déroulante normale.
  • Windows fournit un défilement lors de l'utilisation de menus contextuels qui sont plus larges que la hauteur de l'écran. Cependant, quand vous utiliser des styles VCL, le défilement n'est pas fourni. Pour résoudre ce problème, vous pouvez utiliser la propriété TMenuItem.Break pour créer un menu sans colonnes.

Voir aussi