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
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
- Les composants visuels (comme un champ, une image, un bouton, un menu)
- 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)
- Fichiers Delphi
- Projets Delphi
- Autres...
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.