DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions Boîtes de dialogue
  • Utilisation de la syntaxe avec assistant
  • Caractéristiques de la boîte de dialogue
  • Divers
  • Application en arrière-plan : Spécificité à partir de Android 10
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Affiche une boîte de message non bloquante et appelle une procédure WLangage avec la valeur du bouton cliqué par l'utilisateur.
Remarques :
  • Cette boîte de dialogue est non bloquante. Le code WLangage qui suit l'appel à la fonction DialogueAsynchrone continue de s'exécuter. Pour fermer la fenêtre, l'utilisateur doit valider un des boutons. Quand l'utilisateur clique sur un des boutons, le code d'une procédure WLangage est exécuté.
  • Dans le code WLangage suivant l'appel de la fonction, l'ouverture d'une autre fenêtre modale n'est pas possible avant la fermeture de la boîte de dialogue.
  • WINDEV WINDEV permet d'appliquer le gabarit de votre projet à cette boîte de dialogue. Pour plus de détails, consultez Personnaliser les boîtes de dialogue.
Exemple
// 1 : Sauver
// 2 : Ne pas sauver
DialogueAsynchrone("Voulez-vous enregistrer les modifications dans le fichier %1?", ...
			MaProcédure_Dialogue, sFichier)

PROCÉDURE INTERNE MaProcédure_Dialogue(nRésultat)
	SI nRésultat = 1 ALORS
		ToastAffiche("sauver")
	FIN
FIN
Syntaxe

Syntaxe avec utilisation de l'assistant Masquer les détails

DialogueAsynchrone(<Identifiant du message> , <Procédure WLangage> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Identifiant du message> : Entier
Identifie la question posée à l'utilisateur ainsi que les différentes réponses possibles.
<Procédure WLangage> : Nom de procédure ou procédure lambda
Nom de la procédure WLangage (appelée "callback") appelée lorsque l'utilisateur clique sur un des boutons de la fenêtre de dialogue. Cette procédure permet de connaître la valeur du bouton cliqué et si nécessaire d'effectuer un traitement spécifique.
Pour plus de détails sur cette procédure, consultez Paramètres de la procédure utilisée par la fonction DialogueAsynchrone.
Cette procédure WLangage peut correspondre à :
  • un nom de procédure globale ou locale,
  • un nom de procédure interne,
  • une procédure lambda.
<Paramètre 1> : Chaîne de caractères optionnelle
Si le message choisi contient des éléments paramétrables (identifiés par %1, %2, ...), ce paramètre permet de donner la valeur voulue à l'élément paramétrable 1. Ainsi la valeur de <Paramètre 1> remplacera %1.
<Paramètre N> : Chaîne de caractères optionnelle
Si le message choisi contient des éléments paramétrables (identifiés par %1, %2, ...), ce paramètre permet de donner la Nième valeur voulue à l'élément paramétrable N. Ainsi la valeur de <Paramètre N> remplacera %N.
Remarques

Utilisation de la syntaxe avec assistant

Pour utiliser cette syntaxe, il est nécessaire d'utiliser l'assistant proposé lors de l'écriture du nom de la fonction sous l'éditeur de code (option "<Assistant>" proposée par la saisie assistée). Cet assistant permet de saisir les différents paramètres de la boîte de dialogue qui sera utilisée. Cette fonction ne peut pas être utilisée si la fenêtre de dialogue n'est pas construite avec l'assistant.
Pour lancer l'assistant :
  1. Sous l'éditeur de code, saisissez "DialogueAsynchrone(".
  2. Cliquez sur l'option "Assistant". L'assistant se lance. Passez à l'étape suivante.
  3. Choisissez une question existante ou créez une nouvelle question (option <Cliquez ici pour créer une nouvelle question>). Passez à l'étape suivante.
  4. Si vous avez choisi de créer une question, un écran apparaît. Cet écran permet de saisir les différents paramètres de la boîte de dialogue utilisée pour poser la question. Vous pouvez indiquer :
    • Le texte de la question,
    • L'image de la boîte de dialogue,
    • Les différents boutons permettant à l'utilisateur de répondre.
  5. Validez l'écran de définition de la question. Le code correspondant est automatiquement inséré dans l'éditeur de code. Appuyez à nouveau sur la touche ENTREE du clavier. Le code complet est ajouté sous l'éditeur de code. Il est possible de modifier les caractéristiques de la boîte de dialogue grâce à l'icône située à côté du texte de la question.
  6. Saisissez le nom de la procédure WLangage utilisée.
Remarque : Pour écrire le code WLangage correspondant à la procédure WLangage, les différentes options possibles correspondant aux boutons de la boîte de dialogue sont indiquées en commentaire avant l'appel de la fonction DialogueAsynchrone.

Caractéristiques de la boîte de dialogue

  • Le titre de la boîte de dialogue correspond au titre de la fenêtre (ou page) en cours.
    AndroidiPhone/iPad Pour respecter les spécifications du système, le titre de la boîte de dialogue est vide par défaut. Pour définir ce titre, utilisez la fonction TitreSuivant.
  • Pour modifier ou définir le titre de la boîte de dialogue, utilisez la fonction TitreSuivant.
  • WINDEVWINDEV Mobile Le gabarit du projet en cours est automatiquement appliqué à la boîte de dialogue.
  • Android Les caractéristiques de la boîte de dialogue sont les suivantes :
    • La boîte de dialogue affichée est au look système.
    • La boîte de dialogue ne doit pas contenir plus de 3 boutons. Les boutons supplémentaires ne seront pas affichés.
    • La position des boutons est dépendante de la version de Android. Par défaut, le bouton de validation est à droite. Pour modifier l'ordre des boutons, affichez l'assistant d'édition d'une question et décochez l'option "Utiliser l'ordre défini par le système pour les boutons validation/annulation".
  • iPhone/iPad La boîte de dialogue affichée est une boîte de dialogue native iPhone/iPad.

Divers

  • WINDEV La fonction DélaiAvantFermeture limite le temps d'affichage du message. La boîte de dialogue est automatiquement fermée. Pour les boîtes de question ou de confirmation, la réponse attendue correspond au bouton par défaut.
  • iPhone/iPad Cette fonction ne doit pas être utilisée :
    • dans l'événement "Modification de la taille" des fenêtres. Dans le cas contraire, l'application sera bloquée.
    • dans l'événement "Changement d'orientation" des fenêtres.
    • dans l'événement "Mise au premier-plan" associé au projet.
      Remarque : La fonction peut par contre être utilisée dans l'événement "Mise au premier plan" d'une fenêtre.
    • dans un thread.
Android

Application en arrière-plan : Spécificité à partir de Android 10

A partir de Android 10, il n'est plus possible d'ouvrir une fenêtre lorsque l'application est en arrière-plan.
La fonction DialogueAsynchrone peut provoquer l'ouverture d'une fenêtre. Si cette fonction est utilisée alors que l'application est en arrière-plan, une erreur fatale sera générée.
Conseils :
  • Il est possible de savoir si l'application est en arrière-plan grâce à la fonction EnModeArrièrePlan.
  • Si une application a besoin d'interagir avec l'utilisateur alors qu'elle se trouve en arrière-plan, la solution consiste à afficher une notification (via le type Notification). Lors du clic sur la notification, l'application sera remise au premier plan si la propriété ActiveApplication est à Vrai. Il est également possible d'ouvrir une fenêtre depuis la procédure passée à la propriété ActionClic.
Composante : wd300obj.dll
Version minimum requise
  • Version 25
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 21/06/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale