|
|
|
|
|
- Présentation
- Ouverture d'une fenêtre
- Ouverture d'une fenêtre mère
- Ouverture d'une fenêtre fille
- Ouverture d'une fenêtre soeur
- Ouverture avec alias
- Superposition des fenêtres
- Iconisation d'une fenêtre
- Fenêtre "libre" ouverte avec la fonction OuvreFille ou OuvreSoeur
- Fenêtre mère MDI
- Fenêtre fille MDI
- Rappels
- Fenêtre en cours
- Fermeture d'une fenêtre fille ou soeur
Gestion non modale d'une fenêtre
La fenêtre ouvrant une autre fenêtre est appelée fenêtre mère ; les fenêtres ouvertes par la fenêtre mère sont appelées fenêtres filles. Toutes les fenêtres filles ouvertes par la même fenêtre mère sont des fenêtres soeurs. Ce mode d'ouverture permet de gérer le multi fenêtrage. Avec l'ouverture non modale d'une fenêtre fille : - la fenêtre fille peut être en saisie en même temps que la fenêtre mère qui l'a ouverte.
- après la fermeture d'une fenêtre fille, une autre fenêtre fille devient la fenêtre en cours, s'il n'y a plus de fenêtre fille, c'est la fenêtre mère qui devient la fenêtre en cours
- si la fenêtre mère est fermée, ses fenêtres filles sont fermées. Si une fenêtre fille refuse d'être fermée, les fenêtres filles suivant cette fenêtre ne seront pas fermées ainsi que la fenêtre mère.
- si la fenêtre fille est iconisée, les autres fenêtres ne sont pas iconisées. L'icône de la fenêtre est celle de la fenêtre ou du projet, si la fenêtre n'a pas d'icône.
- si la fenêtre mère est iconisée, toutes ses filles deviennent invisibles temporairement.
Avec l'ouverture non modale d'une fenêtre soeur : - toutes les fenêtres soeurs peuvent être en saisie en même temps.
- après la fermeture d'une fenêtre soeur, une autre fenêtre soeur devient la fenêtre en cours.
- si la fenêtre soeur est iconisée, les autres fenêtres ne sont pas iconisées. L'icône de la fenêtre est celle de la fenêtre ou du projet, si la fenêtre n'a pas d'icône.
Ouverture d'une fenêtre mère Une fenêtre mère est ouverte grâce à la fonction Ouvre. Ouverture d'une fenêtre fille Une fenêtre fille est ouverte à partir d'une fenêtre de type mère MDI. Ces fenêtres filles peuvent être de type : Selon le type de la fenêtre, le mode d'ouverture de la fenêtre varie. 1. Fenêtre de type "fille MDI" La fonction MDIOuvre permet une ouverture non modale d'une fenêtre de type "Fille MDI" depuis une fenêtre de type "Mère MDI". Lors de l'appel de la fonction MDIOuvre, les opérations suivantes sont effectuées : - Exécution de l'événement "Déclarations globales" de la fenêtre.
- Exécution des événements d'initialisation des champs (l'ordre est indéterminé).
- Affichage de la fenêtre (cette fenêtre est toujours fille de la fenêtre mère MDI).
Remarque : Les fenêtres filles MDI sont toujours ouvertes dans la fenêtre mère (elles ne peuvent pas être affichées en dehors de la fenêtre mère). La fonction MDIMenuFenêtre permet d'arranger dans la fenêtre mère MDI l'affichage des fenêtres filles MDI ouvertes (affichage en cascade ou affichage en mosaïque).
2. Fenêtre "Libre" ouverte en tant que fenêtre fille La fonction OuvreFille permet une ouverture non modale des fenêtres de type "Libre" à partir d'une fenêtre de type "Mère MDI". Lors de l'appel de la fonction OuvreFille, les opérations suivantes sont effectuées : - Exécution de l'événement "Déclarations globales" de la fenêtre fille,
- Exécution des événements d'initialisation des champs (l'ordre est indéterminé),
- Exécution des événements suivant l'appel de la fonction OuvreFille de la fenêtre mère,
- Affichage de la fenêtre fille (la fenêtre mère reste la fenêtre en cours).
Remarque : Les fenêtres filles non MDI peuvent être affichées en dehors de la fenêtre mère, elles peuvent être affichées à toutes coordonnées dans l'écran.
Ouverture d'une fenêtre soeur Une fenêtre soeur est ouverte à partir d'une fenêtre fille. Ces fenêtres filles peuvent être de type : Selon le type de la fenêtre, le mode d'ouverture de la fenêtre varie. 1. Fenêtre de type "fille MDI" La fonction MDIOuvre permet une ouverture non modale d'une fenêtre de type "Fille MDI" depuis une fenêtre de type "Mère MDI" ou une fenêtre de type "Fille MDI". Les différentes fenêtres filles sont des fenêtres soeurs. 2. Fenêtre "Libre" ouverte en tant que fenêtre soeur La fonction OuvreSoeur permet une ouverture non modale des fenêtres de type "Libre" à partir d'une fenêtre fille. Lors de l'appel de la fonction OuvreSoeur, les opérations suivantes sont effectuées : - Exécution de l'événement "Déclarations globales" de la fenêtre soeur,
- Exécution des événements d'initialisation des champs (l'ordre est indéterminé),
- Exécution des événements suivant l'appel de la fonction OuvreSoeur de la fenêtre appelante,
- Affichage de la fenêtre soeur.
Remarque : Les fenêtres soeurs MDI sont toujours ouvertes dans la fenêtre mère (elles ne peuvent pas être affichées en dehors de la fenêtre mère). La fonction MDIMenuFenêtre permet d'arranger dans la fenêtre mère MDI l'affichage des fenêtres filles MDI ouvertes (affichage en cascade ou affichage en mosaïque).
Important : Une fenêtre ne peut être ouverte avec la fonction OuvreSoeur que si la fenêtre demandant l'ouverture a été ouverte avec la fonction OuvreFille ou la fonction OuvreSoeur. Ouverture avec alias Une même fenêtre (fille ou soeur) peut être ouverte plusieurs fois en parallèle. Cette fenêtre est soeur d'elle même. Chaque fenêtre ouverte est différenciée par un alias. L'alias est passé en paramètre aux fonctions OuvreSoeur, OuvreFille ou MDIOuvre. Si lors de l'ouverture d'une fenêtre déjà ouverte, aucun alias n'est donné, WINDEV attribue automatiquement un alias à la fenêtre. Remarque : L'alias peut être modifié avec la fonction FenChangeAlias. // Ouverture de FICHECLI avec alias CLIENT1 OuvreSoeur("CLIENT1=FICHECLI")  // Changement de fenêtre avec saisie sur champ NOMCLI DonneFocusEtRetourUtilisateur("CLIENT1.NOMCLI")  // Manipulation de champ avec alias NomFenêtre est une chaîne NomFenêtre = FenPrécédente() SI NomFenêtre.NomCli = "" ALORS // Nom du client non saisi Erreur("Le nom du client n'a pas été saisi") DonneFocusEtRetourUtilisateur(NomFenêtre + ".NOMCLI") FIN Superposition des fenêtres Après son ouverture, une fenêtre fille est affichée "par dessus" la fenêtre mère et une fenêtre soeur est affichée par dessus l'avant dernière fenêtre soeur. Pour spécifier que la fenêtre ouverte s'affiche : - par dessus toutes les fenêtres (mêmes inactives), mêmes celles des autres applications Windows en cours, il faut utiliser la constante DessusTout (fonctions OuvreFille, OuvreSoeur ou FenEtat).
- au dessus de ses soeurs (mêmes inactives), il faut utiliser la constante Dessus (fonctions OuvreFille, OuvreSoeur ou FenEtat).
Iconisation d'une fenêtre Fenêtre "libre" ouverte avec la fonction OuvreFille ou OuvreSoeur Si la fenêtre est iconisée, les autres fenêtres ne sont pas iconisées. L'icône utilisée est celle de la fenêtre (ou du projet, si la fenêtre n'a pas d'icône associée). Fenêtre mère MDI Si la fenêtre est iconisée, toutes les fenêtres filles sont iconisées. L'icône utilisée est celle de la fenêtre (ou du projet si la fenêtre n'a pas d'icône associée). Fenêtre fille MDI Si la fenêtre est iconisée, elle est iconisée dans la fenêtre mère, l'icône utilisée est une partie de la barre de titre. La fonction MDIMenuFenêtre permet de réduire toutes les fenêtres filles MDI ouvertes en icône, puis de les restaurer. Rappels Une fenêtre peut être iconisée : Une fenêtre peut être restaurée : Après l'ouverture d'une fenêtre, la fenêtre en cours n'est pas modifiée. - La fonction FenEnCours renvoie le nom de la fenêtre (ou de l'alias) en cours de saisie.
- La fonction FenPrécédente renvoie le nom de la fenêtre (ou de l'alias) qui était précédemment en cours de saisie.
Pour changer la fenêtre en cours de saisie : - soit l'utilisateur clique sur une fenêtre.
- soit par programmation, la fonction DonneFocusEtRetourUtilisateur force la saisie sur la fenêtre dont le nom est passé en paramètre (il faut que la fenêtre comporte au moins un champ en saisie).
La fonction MDIActive retourne le nom de la fenêtre fille MDI qui est en avant plan. Fermeture d'une fenêtre fille ou soeur Les fenêtres filles et soeurs sont fermées avec la fonction Ferme. Après la fermeture d'une fenêtre fille, une de ses soeurs devient active. Si aucune fenêtre soeur n'existe, la fenêtre mère devient active. Après la fermeture d'une fenêtre soeur, une autre fenêtre soeur devient la fenêtre en cours. Si la fenêtre mère est fermée, ses fenêtres filles sont fermées. Si une fenêtre fille refuse d'être fermée, la fermeture est interrompue : les fenêtres soeurs suivant la fille ne sont pas fermées ainsi que la fenêtre mère ; les fenêtres filles qui ont été fermées restent fermées. Pour empêcher la fermeture d'une fenêtre fille (non MDI), dans le code de fermeture de la fenêtre fille, ajoutez la ligne suivante : // NomChamp est un champ de la fenêtre fille DonneFocusEtRetourUtilisateur(NomChamp) Pour empêcher la fermeture d'une fenêtre fille MDI, il faut : - créer un champ Bouton associé à la combinaison de touches Alt + F4.
- saisir le code suivant dans le code de clic du champ Bouton :
DonneFocusEtRetourUtilisateur()
La fonction MDIMenuFenêtre permet de fermer toutes les fenêtres filles MDI ouvertes.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|