Utilisation et modification des cadres

De RAD Studio
Aller à : navigation, rechercher

Remonter à Manipulation des cadres

Un cadre VCL avec des contrôles orientés données et un composant source de données.
Un cadre FireMonkey sélectionné dans une fiche, à la conception.

Pour utiliser un cadre dans une application, vous devez le placer, directement ou indirectement, sur une fiche. Vous pouvez ajouter des cadres directement sur des fiches, sur d'autres cadres ou sur d'autres objets conteneur, comme des volets et des boîtes de défilement.

Le Concepteur de fiches permet d'ajouter un cadre à une application de deux manières :

  • Sélectionnez un cadre à partir de la Palette d'outils et déposez-le sur une fiche, un autre cadre ou un autre objet conteneur. Si nécessaire, le Concepteur de fiches demande s'il est possible d'inclure le fichier unité du cadre dans votre projet.
  • Sélectionnez Cadres à partir de la catégorie Standard de la Palette d'outils et cliquez sur une fiche ou un autre cadre. Une boîte de dialogue s'ouvre sur une liste de cadres figurant déjà dans votre projet ; sélectionnez-en un et cliquez sur OK.

Lorsque vous déposez un cadre sur une fiche ou un autre conteneur, Delphi déclare une nouvelle classe qui dérive du cadre que vous avez sélectionné. De même, lorsque vous ajoutez une nouvelle fiche à un projet, Delphi déclare une nouvelle classe qui dérive de TForm. Cela signifie que les modifications apportées ultérieurement au cadre d'origine (ancêtre) sont répercutées sur le cadre incorporé, mais que les modifications apportées au cadre incorporé ne sont pas répercutées sur le cadre ancêtre.

Supposons que vous souhaitiez regrouper des composants d'accès aux données et des contrôles orientés données en vue d'une utilisation fréquente, éventuellement dans plusieurs applications. Pour ce faire, vous pourriez rassembler les composants dans un modèle de composant ; mais si vous commencez à utiliser le modèle et changez d'avis ultérieurement sur l'organisation des contrôles, vous devez faire marche arrière et modifier manuellement dans chaque projet la partie sur laquelle le modèle a été placé.

Par contre, si vous placez vos composants base de données dans un cadre, les modifications ultérieures ne doivent être apportées que dans un seul endroit ; les modifications apportées à un cadre d'origine sont automatiquement répercutées sur ses descendants incorporés lors de la recompilation des projets. Parallèlement, vous pouvez modifier n'importe quel cadre incorporé sans affecter le cadre d'origine ni aucun de ses descendants incorporés. La seule restriction à la modification des cadres incorporés est que vous ne pouvez pas leur ajouter des composants.

Outre une simplification de gestion, les cadres procurent une efficacité supplémentaire dans l'utilisation des ressources. Par exemple, pour utiliser une image bitmap ou un autre graphique dans une application, vous pouvez charger le graphique dans la propriété Picture (VCL) ou Bitmap (FireMonkey) d'un contrôle TImage. Toutefois, si vous utilisez fréquemment le même graphique dans une application, chaque objet Image que vous placez sur une fiche génère une autre copie du graphique ajouté au fichier ressource de la fiche. Cela est également vrai si vous définissez la propriété Picture ou Bitmap une fois et enregistrez le contrôle Image en tant que modèle de composant. Une meilleure solution consiste à déposer l'objet Image sur un cadre, à y charger le graphique puis à utiliser le cadre là où vous souhaitez que le graphique apparaisse. Cela génère des fichiers fiche moins volumineux et présente en outre la possibilité de modifier le graphique partout où il figure en modifiant l'objet Image sur le cadre d'origine.

Voir aussi