MessageBox

 

 

Cette fonction affiche une chaîne de caractères dans une boîte de message.

int WINAPI MessageBox(
_In_opt_ HWND hWnd,
_In_opt_ LPCTSTR lpText,
_In_opt_ LPCTSTR lpCaption,
_In_ UINT uType
);

Elle est pratiquement identique à ce qui existait en C (MessageBox en C).

 

Ce qui change:

Il n'est plus possible de passer entre guillement le texte directement, il faudra préciser le type de pointeur à utiliser et indiquer que la chaine est codée sur 2 octets:

MessageBox(NULL, (LPCWSTR)L" Coucou, comment ça va ?", (LPCWSTR)L"Coucou", MB_ok);

Image non trouvée !Si vous positionnez le titre à NULL, le système affichera "Error" comme titre par défaut (ou "Erreur" en français", ...dans les autres langues).


MessageBox lance par défaut MessageBoxW (Unicode), mais il existe aussi MessageBoxA (ANSI)

 

Image non trouvée !Si vous ouvrez un MessageBox pour afficher un problème de mémoire, ne pas mettre le texte en ressource, le chargement de celui-ci aura besoin de mémoire, or il n'y en a plus !

De nouvelles constantes font leur apparition:

Liste des valeurs:

UINT Description

Valeur Désignation
MB_ABORTRETRYIGNORE Affichage des boutons Annuler, réessayer et ignorer
MB_CANCELTRYCONTINUE Affichage des boutons Annuler, réessayer et continuer
MB_DEFBUTTON1 Le premier bouton de la MessageBox sera le bouton pris par defaut.
MB_DEFBUTTON2 Le deuxième bouton de la MessageBox sera le bouton pris par defaut.
MB_DEFBUTTON3 Le troisième bouton de la MessageBox sera le bouton pris par defaut.
MB_DEFBUTTON4 Le quatrième bouton de la MessageBox sera le bouton pris par defaut.

MB_ICONEXCLAMATION

MB_ICONWARNING

L'icone de la MessageBox sera un point d'exclamation.

MB_ICONINFORMATION

MB_ICONASTERISK

L'icone de la MessageBox sera un i d'information.
MB_ICONQUESTION L'icone de la MessageBox sera un point d'interrogation.

MB_ICONSTOP

MB_ICONHAND

MB_ICONERROR

L'icone de la MessageBox sera panneau stop.
MB_HELP Affichage d'un bouton aide qui déclecnhe WM_HELP lorsque l'utilisateur demande de l'aide par F1 ou clique sur le bouton
MB_OK Affichage du bouton OK
MB_OKCANCEL Affichage des boutons OK et Annuler
MB_RETRYCANCEL Affichage des boutons Réessayer et Annuler.
MB_YESNO Affichage des es boutons Oui et Non.
MB_YESNOCANCEL Affichage des boutons Oui, Non et Annuler.
MB_TOPMOST Le message s'affiche avec le style WS_EX_TOPMOST
MB_SETFOREGROUND SetForegroundWindow est déclenchée pour afficher la fenêtre en avant plan

MB_RIGHT

Aligné à droite

Il y a d'autres MB_ disponibles...

 

MessageBox retourne une valeur qui permet d'identifier le bouton pressé par l'utilisateur:

Valeur Désignation
IDABORT Le bouton abandonner a été sélectionné.
IDCONTINUE Le bouton continuer a été sélectionné.
IDOK Le bouton Ok a été sélectionné.
IDCANCEL Le bouton Annuler a été sélectionné.
IDIGNORE Le bouton Ignorer a été sélectionné.
IDRETRY Le bouton Réessayer a été sélectionné.
IDTRYAGAIN Le bouton réessayer encore a été sélectionné.
IDNO Le bouton Non a été sélectionné.
IDYES Le bouton Oui a été sélectionné.