PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Caractéristiques de la boîte de dialogue
  • Saut de ligne dans 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 WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Affiche un message dans une boîte de dialogue standard non bloquante proposant les réponses "Oui" et "Non" et appelle une procédure WLangage avec la réponse de l'utilisateur.
Dialogue Oui/Non
Remarques :
  • Cette boîte de dialogue est non bloquante. Le code WLangage qui suit l'appel à la fonction OuiNonAsynchrone 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
OuiNonAsynchrone("Voulez-vous fermer cette fenêtre ?", MaProcédure_OKAnnuler)
 
PROCÉDURE INTERNE MaProcédure_OKAnnuler(nReponse entier)
SI nReponse = Oui ALORS
ToastAffiche("Vous voulez fermer la fenêtre !")
SINON
ToastAffiche("Vous ne voulez pas fermer la fenêtre !")
FIN
FIN
Syntaxe
OuiNon([<Bouton sélectionné>, ] <Texte> , <Procédure WLangage>)
<Bouton sélectionné> : Constante optionnelle de type entier
Bouton sélectionné par défaut dans la boîte de dialogue :
Non0sélectionné par défaut
Oui
(Valeur par défaut)
1sélectionné par défaut
<Texte> : Chaîne de caractères
Texte à afficher.
<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 confirmation.
Cette procédure permet de connaître le 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 OuiNonAsynchrone.
Cette procédure WLangage peut correspondre à :
  • un nom de procédure globale ou locale,
  • un nom de procédure interne,
  • une procédure lambda.
Remarques

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.
  • Le message est cadré à gauche.
  • Les libellés des boutons dépendent de la langue d'exécution de Windows.
  • Le nombre maximum de caractères affichés est limité à 4096. Si une chaîne plus grande est passée en paramètre, elle sera tronquée.
  • L'icône affichée (point d'exclamation) ne peut pas être modifiée.
WINDEV Pour personnaliser cette boîte de dialogue (ainsi que toutes les boîtes de dialogue système de votre application), cochez l'option "Personnaliser les fenêtres système (Info, OuiNon, Confirmer, Dialogue)" dans l'onglet "Style" de la description du projet. Pour plus de détails, consultez Personnaliser les boîtes de dialogue.

Saut de ligne dans la boîte de dialogue

La chaîne prédéfinie RC (Retour Chariot) peut être utilisée pour forcer le passage à la ligne suivante. Par exemple :
OuiNonAsynchrone("La fiche XXX a été modifiée." + RC + ...
"Voulez-vous la sauver avant de quitter ?")
Il est également possible d'utiliser la syntaxe des chaînes multilignes. Par exemple :
OuiNonAsynchrone(
[
La fiche XXX a été modifiée.
 
Voulez-vous la sauver avant de quitter ?
], Procédure_OKAnnulerAsynchrone)

Divers

  • Les timers (fonction TimerSys) ne sont pas stoppés lors de l'appel de cette fonction.
  • WINDEV Les événements Windows ne sont pas stoppés lors de l'appel à cette fonction.
  • Le libellé des boutons s'affiche dans la langue utilisée par Windows sur le poste en cours.
  • 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 La position des boutons est dépendante de la version de Android. A partir de la version 4.1 de Android, le bouton de validation est placé à droite par le système. L'utilisation de la fonction DialogueAsynchrone permet si besoin de fixer la position des boutons.
Versions 25 et supérieures
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 OuiNonAsynchrone 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.
Nouveauté 25
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 OuiNonAsynchrone 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.
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 OuiNonAsynchrone 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.
Classification Métier / UI : Code UI
Composante : wd260obj.dll
Version minimum requise
  • Version 25
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire