Création dynamique d'une fiche VCL modale

De RAD Studio
Aller à : navigation, rechercher

Remonter à Comment construire des applications Fiches VCL


Toutes les fiches de votre application n'ont pas besoin d'être en mémoire simultanément. Pour réduire la quantité de mémoire requise au moment du chargement, votre application peut créer des fiches uniquement lorsqu'elles doivent être disponibles pour être utilisées. Une boîte de dialogue, par exemple, n'a besoin d'être en mémoire que pendant le temps où l'utilisateur interagit avec elle. En utilisant RAD Studio, la procédure suivante crée une instance de fiche modale dynamiquement. La principale différence entre la création dynamique d'une fiche et l'affichage d'une fiche VCL créée automatiquement réside dans le fait que vous supprimez l'appel de la deuxième fiche au démarrage et écrivez du code pour créer dynamiquement la fiche.

La construction de cette application VCL comprend les étapes suivantes :

  1. Créer le répertoire projet.
  2. Créer deux fiches pour le projet.
  3. Retirer l'appel de la deuxième fiche au démarrage.
  4. Lier les fiches.
  5. Créer un contrôle sur la fiche principale pour créer et afficher la fiche modale, puis écrire le gestionnaire d'événement.
  6. Construire et exécuter l'application.

Pour créer les deux fiches

  1. Choisissez Fichier > Nouveau > Autre > Projets Delphi ou Projets C++Builder et double-cliquez sur l'icône Application Fiches VCL. Le Concepteur de fiches VCL affiche Form1.
  2. Choisissez Fichier > Nouveau > Autre > Projets Delphi > Fichiers Delphi ou Fichier > Nouveau > Autre > Fichiers C++Builder, puis double-cliquez sur l'icône Fiche. Le Concepteur de fiches VCL affiche Form2.

Pour retirer l'appel de Form2 au démarrage

  1. Choisissez Projet > Options > Fiches. La boîte de dialogue Options du projet s'affiche.
  2. Sélectionnez Form2 dans la liste Fiches créées automatiquement et cliquez sur [>]. Form2 est déplacée dans la liste Fiches disponibles.
  3. Cliquez sur OK pour fermer la boîte de dialogue.

Pour lier Form1 à Form2

  1. Sélectionnez Form1 et choisissez Fichier > Utiliser l'unité. La boîte de dialogue Utiliser l'unité s'affiche.
  2. Sélectionnez Form2 (la fiche nécessaire à Form1 comme référence) dans la boîte de dialogue.
  3. Cliquez sur OK. Pour Delphi, une clause uses contenant le nom de l'unité Unit2 est placée dans la section implementation de Unit1. Pour C++, la directive #include "Unit2.h" est ajoutée à Unit1.h.

Pour afficher Form2 à partir de Form1

  1. Sélectionnez Form1, si nécessaire, puis, dans la page Standard de la palette d'outils, placez un TButton sur la fiche.
  2. Dans l'inspecteur d'objets avec Button1 sélectionné, double-cliquez sur l'événement OnClick de l'onglet Evénements. L'éditeur de code s'affiche, le curseur placé dans le bloc du gestionnaire de l'événement TForm1.Button1Click (Delphi) ou TForm1::Button1Click (C++).
  3. Entrez le code de gestion d'événement suivant :
Form2 := TForm2.Create(self);
try
  Form2.ShowModal;
finally
  Form2.Free;
end;
Form2 = new TForm2( this );
try {
  Form2–>ShowModal();
} __finally {
  Form2–>Free();
}

Pour construire et exécuter l'application

  1. Enregistrez tous les fichiers du projet, puis choisissez Exécuter > Exécuter. L'application s'exécute, en affichant Form1.
  2. Cliquez sur le bouton. Form2 s'affiche.
  3. Cliquez sur le X dans le coin supérieur droit de la fiche. Form2 se ferme et Form1 devient la fiche active.

Voir aussi