BlueGEEK Journal

Accueil > Manip’s > Delphi > Atelier Delphi pour les Nuls > Regrouper les composants non visuels de Delphi

Regrouper les composants non visuels de Delphi

lundi 1er avril 2013, par bluegyn_spip

Comment regrouper les composants non visuels sur une fiche Delphi afin qu’ils n’encombrent pas la composition ?


ATTENTION il est préférable d’appliquer cette astuce dès le début de la composition des fiches,
- Car un certain nombre de liens vont être modifiés par le masquage des composants (ce qui n’est pas très grave pour un menu, ou une image)
- Mais qui peut être plus embêtant pour des composants ACTIONS dont on va perdre toutes les routines qui restent attachées au module "Pascal" originel.


RAPPELS


Une fiche Delphi (DFM) comporte 2 types de composants

  1. Les composants visuels (comme un champ, une image, un bouton, un menu)
  2. Les composant non visuels, qu’on ne voit que si on les active, comme un Popup, un dialogue, une liste d’images ou d’actions ..)

- Imaginons que j’ai une dizaine de champs de saisie, et que sur chaque champ je branche un Popup (menu contextuel) qui rappelle les actions spécifiques à chaque champ.

- Mon interface va comprendre mes 10 champs d’édition et 10 menus,

- Imaginons maintenant que je crée une boite à 10 onglets, contenant chacune 10 champs et 10 menus,

  • Si la navigation d’onglet en onglet est limitée à une seule page par onglet donc à 10 champs maximum,
  • Mes 100 popups vont être affichés sur la fiche principale quel que soit l’onglet ouvert.

- C’est ingérable !


MANIP


- Soit une fiche
- 3 edit
- 3 Popup

Ajouter un CADRE (frame)

- Le cadre est en fait un hyperlien vers une fiche
- Il doit donc être créé comme une nouvelle fiche

- Fichier

  • Nouveau
    • Autres...
      • Projets Delphi
        • Fichiers Delphi
          • Cadre (vcl)


- Une nouvelle unité est créée nommée FRAME2


- Il ne reste plus maintenant qu’à lier le cadre et la fiche principale, en cliquant sur le composant "CADRE"

- Cadre est le dernier des composants "Standard"

Je double clique, et je choisis mon cadre dans la liste

- Je le place sur ma Fiche 1 :

- Attention il faut copier les composants, sur l’unité liée (FRAME2) et non sur le composant cadre (frame21)

- Ceux ci apparaissent immédiatement à l’emplacement du cadre, sur la fiche principale
- Le cadre est donc simplement une petite fenêtre ouverte de la fiche 1 vers la fiche 2

- Je dois obligatoirement créer les composants sur la fiche 2, mais je peux y accéder facilement à partir de la fiche 1 ou de la fiche 2 , puisque les 2 sont liées par le cadre.

- Je redimensionne mon cadre pour qu’il ne gêne pas l’accessibilité

  • Alignement à droite par exemple
  • Visible = False, car un conteneur de composants non visuels doit être invisible.

- Il ne reste plus à lier l’EDIT et son POPUP en passant par le chemin du cadre

EXEMPLE

- Tous ces composants "non visuels", donc inutiles au Wysiwyg n’encombrent plus la fiche principale !


ATTENTION le composant MainMenu (contrairement à PopupMenu) doit obligatoirement se trouver sur la fiche principale.