www.dclogiciel.fr.st
LANGUEDOC WEB
www.dclogiciel.be.tf
Accueil
Mes liens

Boite de Message
Ce fichier source en RapidQ est distribué gratuitement par LANGUEDOC WEB.

Utilisation de l'API "MessageBoxA" pour afficher les boîtes de dialogue (Réalisé par Daniel CALERO)

Ce fichier se nomme boite_message.bas, sa taille totale est de 2 ko.
Surtout n'hésitez pas à me contacter pour me faire part de votre avis ou de toutes suggestions et Recommandez cette page.

' Affichage de boîtes de dialogue Windows avec votre langue (Français)

'Déclaration de la fonction MonMessageBox qui se sert de la librairie Windows user32.dll qui contient une fonction MessageBoxA qui a besoin des arguments hwnd (handle de la feuille qui appelle la fonction), lpText (le texte à afficher), lpCaption (le texte de la barre de titre), wType (les boutons et les icones à afficher) et qui retournera une variable de type long
Declare Function MonMessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long

'Déclaration des constantes (valeur qui ne peuvent plus être changée en cours d'exécution du programme)
Const MB_ABORTRETRYIGNORE = 2 'valeur pour afficher les boutons Abandonner, Réessayer et Ignorer
Const MB_YESNO = 4 'valeur pour afficher les boutons Oui et Non
Const MB_YESNOCANCEL = 3 'valeur pour afficher les boutons Oui, Non et Annuler
Const MB_RETRYCANCEL = 5 'valeur pour afficher les boutons Réessayer et Annuler
Const MB_OKCANCEL = 1 'valeur pour afficher les boutons Ok et Annuler
Const MB_OK = 0 'valeur pour afficher le bouton ok

Const MB_ICONSTOP = 16 'Valeur pour afficher l'icone Stop
Const MB_ICONQUESTION = 32 'valeur pour afficher l'icone de la Question (?)
Const MB_ICONINFOS = 64 'valeur pour afficher l'icone de l'Information (i)
Const MB_ICONEXCLAMATION = 48 'Valeur pour l'icone de l'avertissement (!)
Const MB_ICONRIEN = 0 'Valeur pour ne pas afficher d'icone

Const IDYES = 6 'valeur retournée si le bouton OUI a été pressé
Const IDNO = 7 'valeur retournée si le bouton NON a été pressé
Const IDABORT = 3 'valeur retournée si le bouton ABANDONNER a été pressé
Const IDCANCEL = 2 'valeur retournée si le bouton ANNULER a été pressé
Const IDIGNORE = 5 'valeur retournée si le bouton IGNORER a été pressé
Const IDRETRY = 4 'valeur retournée si le bouton REESSAYER a été pressé
Const IDOK = 1 'valeur retournée si le bouton OK a été pressé

declare sub Commande1 'Je déclare une procédure nommée Commande1

'Je déclare une fenêtre et je la mets en forme
dim
ma_fenetre as qform
ma_fenetre.caption = "Exemple MESSAGEBOX" 'je mets un titre à ma fenêtre
ma_fenetre.center 'Je centre ma fenêtre par rapport à l'écran

'Je déclare un bouton et je le mets en forme
Dim mon_bouton as qbutton
mon_bouton.parent = ma_fenetre 'Je signale que mon bouton fait parti de la fenêtre nommée ma_fenetre
mon_bouton.caption = "Cliquez Ici" 'Je mets un texte sur mon bouton
mon_bouton.onclick = Commande1 'Je signale que quand l'utilisateur du programme cliquera sur le bouton la procédure Commande1 sera lancée (Cette procédure a déjà été déclarée plus haut).

'Maintenant, j'écris ma procédure déclarée au début
Sub Commande1 'début de la procédure

If MonMessageBox(ma_fenetre.handle, "La question à poser ?", "Le titre de la Question", MB_YESNO+MB_ICONQUESTION) = IDYES Then 'je pose ma question tout en supposant que la réponse sera OUI

Call MonMessageBox(ma_fenetre.handle, "Vous avez répondu Oui !","La réponse 1", MB_OK + MB_ICONINFOS) 'Si la réponse est bien OUI, ce message s'affichera

else ' dans le cas où la réponse est différente de OUI, je prévois une autre réponse

Call MonMessageBox(ma_fenetre.handle, "Vous avez répondu Non !","La réponse 2", MB_OK + MB_ICONEXCLAMATION) 'Si la réponse est NON, ce message s'affichera

End If 'je finis mes suppositions

End Sub 'fin de la procédure

ma_fenetre.showmodal 'C'est le lancement de ma feuille au démarrage du programme