PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

PV

  • 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 WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Affiche un message dans une boîte de dialogue standard non bloquante proposant les réponses "OK" et "Annuler" et appelle une procédure WLangage avec la réponse de l'utilisateur.
Exemple de confirmation
Remarques :
  • Cette boîte de dialogue est non bloquante. Le code WLangage qui suit l'appel à la fonction OKAnnulerAsynchrone 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
// Choix pour la sortie du programme
OKAnnulerAsynchrone(Non, "Voulez-vous quitter le programme?", MaProcédure_OKAnnuler)
 
PROCÉDURE INTERNE MaProcédure_OKAnnuler(nRéponse entier)
SELON nRéponse
CAS Oui :
ToastAffiche("Bouton OK")
Ferme()
CAS Non : ToastAffiche("Bouton Annuler")
FIN
FIN
Syntaxe

Afficher une boîte de dialogue OK / Annuler Masquer les détails

OKAnnulerAsynchrone([<Bouton sélectionné>, ] <Texte> , <Procédure WLangage>)
<Bouton sélectionné> : Booléen optionnel
Bouton sélectionné par défaut dans la boîte de dialogue :
NonBouton "Annuler" sélectionné par défaut.
Vrai
(par défaut)
Bouton "OK" sé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 OKAnnulerAsynchrone.
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 :
OKAnnulerAsynchrone("Attention : vous allez supprimer cet enregistrement" + RC + ...
"Voulez-vous continuer ?", MaProcédure)
Il est également possible d'utiliser la syntaxe des chaînes multilignes. Par exemple :
OKAnnulerAsynchrone(
[
Attention : vous allez supprimer cet enregistrement.
 
Voulez-vous continuer ?
], 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.
  • 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.
  • 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

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 OKAnnulerAsynchrone 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 : wd280obj.dll
Version minimum requise
  • Version 25
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire