Comment afficher une boite d'information avec l'api Windows ? C'est facile en utilisant la fonction MessageBox.
Vous trouverez ci-dessous la syntaxe de cette fonction et un exemple de code source en C++ affichant une boite de dialogue avec les boutons "Oui", "Non" et "Annuler".
La fonction MessageBox est définie dans windows.h
int MessageBox(hwnd, text, titre, style); HWND hwnd; /* handle de la fenetre */ LPCSTR text; /* addresse du texte */ LPCSTR titre; /* addresse du titre */ UINT style; /* style de la Message box */
UINT | Description |
---|---|
MB_ABORTRETRYIGNORE | La MessageBox aura comme boutons: Annuler, Réessayer, et Ignorer. |
MB_DEFBUTTON1 | Le premier bouton de la MessageBox sera par defaut. |
MB_DEFBUTTON2 | Le deuxième bouton sera par défaut. |
MB_DEFBUTTON3 | Le troisième bouton sera par défaut. |
MB_ICONEXCLAMATION | L'icône de la MessageBox sera un point d'exclamation. |
MB_ICONINFORMATION | L'icône de la MessageBox sera le I. |
MB_ICONQUESTION | L'icône de la MessageBox sera un point d'interrogation. |
MB_ICONSTOP | L'icône de la MessageBox sera un panneau stop. |
MB_OK | La MessageBox contiendra le bouton OK. |
MB_OKCANCEL | La MessageBox contiendra les boutons OK et Annuler. |
MB_RETRYCANCEL | La MessageBox contiendra les boutons Réessayer et Annuler. |
MB_YESNO | La MessageBox contiendra les boutons Oui et Non. |
MB_YESNOCANCEL | La MessageBox contiendra les boutons Oui, Non et Annuler. |
Cette fonction retourne ces valeurs:
Valeur | Signification |
---|---|
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é. |
IDNO | Le bouton Non a été sélectionné. |
IDYES | Le bouton Oui a été sélectionné. |
Exemple(s)
#define WIN32_LEAN_AND_MEAN #include <windows.h> #include "resource.h" HINSTANCE hInst; int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { int msgboxID = MessageBox(NULL, "Voulez-vous continuer?", "Continuer ?", MB_ICONWARNING | MB_YESNOCANCEL); switch (msgboxID) { case IDYES: // TODO break; case IDNO: // TODO break; case IDCANCEL: // TODO break; } return 0; }