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;
}