BoiteDialogue
Fonction
Rôle : |
Affichage d'une fenêtre temporaire permettant de faire un choix parmi plusieurs boutons. |
Syntaxe : |
BoiteDialogue(<titre fenêtre>, <icône|position>, <message>,<bouton1>[ ,<bouton2>,<...>]) |
Type de retour : |
Alphanumérique |
Notes : |
Les Paramètres :
titre fenêtre : C'est une expression alphanumérique qui représente le titre de la fenêtre de la boîte de dialogue WINDOWS.
icône|position : Ces deux paramètres peuvent être précisés, ou seulement l'un d'entre eux.
icône : Icône dessiné dans la fenêtre de la boîte de dialogue WINDOWS.
Les mots clés possibles pour l'icône sont :
Exclamation |
Point d'exclamation |
Interrogation |
Point d'interrogation |
Stop |
Panneau STOP |
Information |
Icône d'information (i). |
position : Position relative d'affichage de la boîte de dialogue dans l'écran. Par défaut la boîte est centrée par rapport à l'écran que vous avez affiché.
Deux paramètrages sont possibles :
CentreMdi : Dans ce cas la boîte de dialogue sera centrée par rapport à l'ensemble des fenêtres du MDI, c'est-à dire par rapport à la fenêtre OXYGENE++.
CentreEcran : La boîte sera affichée centrée par rapport à l'écran de votre ordinateur.
message : Texte qui sera affiché dans la fenêtre, cadré à gauche. Le message peut être une expression alphanumérique.
Si l'on souhaite obtenir un titre sur plusieurs lignes, il suffit de placer le caractère @ à l'endroit de chaque saut de ligne désiré. Chacune des lignes sera cadrée à gauche.
bouton1, bouton2 ... : Liste des boutons. Chacun de ces paramètres est une expression alphanumérique contenant le texte du bouton et le code ASCII associé qui sera rendu par la fonction.
On doit indiquer dans le paramètre bouton :
Un premier caractère qui n'est pas affiché et qui est le code rendu par la fonction dans une chaîne de un caractère.
Le caractère "0" permet de sortir par la touche ESC. Cela sert à réaliser des fenêtres contenant juste un message et un bouton unique permettant la sortie.
Si le code du bouton est préfixé par $ le bouton sera considéré comme le bouton par défaut, c'est-à dire ayant le focus (bord gras).
Le texte du bouton lui-même. Si l'un des caractères de ce libellé est ~ (code ASCII 126), ou & (code ASCII 38), il ne sera pas affiché. En revanche, le caractère qui le suit sera affiché d'une couleur différente et sera un Accélérateur-clavier : sa frappe directe au clavier provoquera le choix correspondant. Les minuscules et les majuscules sont équivalentes.
On pourra faire précéder cette chaîne des caractères @1, @2 ... @9. Dans ce cas, le bouton sera plus ou moins espacé du précédent selon le nombre indiqué.
@0 sera utilisé pour demander un saut de ligne avant l'affichage des boutons suivants.
Exemples de bouton :
"1~Fin de mois"
"AChoix
&principal"
"0~Abandon"
"$1~Oui"
"$1&Non"
"$0~Annuler"
La fenêtre contenant la boîte de dialogue a une taille calculée automatiquement.
L'utilisateur peut se déplacer de bouton en bouton grâce aux touches flèches gauche ou droite. Il validera par la touche ENTREE. Il pourra également utiliser la souris pour cliquer directement sur un bouton ou taper directement la lettre correspondant à l'accélérateur-clavier.
Les touches ALT F4 et ESC permettent, dans tous les cas, de sortir de la boîte de dialogue.
Si un seul bouton est défini, la touche ESC rend le code du bouton unique. Si vous avez défini plusieurs boutons, et aucun n'est préfixé par "0", alors ESC rend le code du dernier bouton.
Pendant le choix dans la boîte de dialogue, les menus déroulants sont automatiquement inactivés.
Exemple :
Domaine :
ESSAI "Boîte de dialogue intégrée"
Objet TRAITEMENT : BOITDLG
Declaration :
VARIABLES :
Chaine
ChoixJour("Jour Choisi",1)
FinDeclaration
Methode JE_TESTE
ChoixJour=BoiteDialogue("Jour de
paiement",\
Interrogation|CentreEcran, "Choisissez
un jour : ",\
"1~LUNDI","@52~MARDI","@03MER~CREDI","@34~JEUDI")
BoiteMessage "Jour
choisi numéro : "+ChoixJour
FinMethode
FinObjet
Après l'appel à la méthode JE_TESTE :
Effet de la sélection du bouton MERCREDI :