4. Message case (MessageBox)
Message fonction crée, affiche, et exploite une boîte de message ou la boîte. Le message contient un message et le titre défini par l'application, et toute combinaison d'icônes prédéfinies et des boutons.
__fastcall int MessageBox (char * texte, char * Légende, int flags);
Paramètres
Texte (Text)
Points à une chaîne terminée par NULL qui contient le message à afficher.
Légende (Legend)
Points à une chaîne à zéro terminal utilisé pour le titre de la boîte de dialogue. Si ce paramètre est NULL, utilisez le titre par défaut d'erreur.
Flags (drapeaux)
Spécifie un jeu de drapeaux bits qui déterminent le contenu et le comportement de la boîte de dialogue. Ce paramètre peut être une combinaison d'indicateurs parmi les groupes suivants.
1 .- Spécifiez un des drapeaux ci-dessous pour indiquer les boutons contenus dans la boîte de message:
Drapeaux | Signification |
MB_ABORTRETRYIGNORE | La boîte de message contient trois boutons: Abandonner, Réessayer et Ignorer. |
MB_OK | Le message contient un bouton: OK. C'est la valeur par défaut. |
MB_OKCANCEL | Le message contient deux boutons: OK et Annuler. |
MB_RETRYCANCEL | Le message contient deux boutons: Réessayer et Annuler. |
MB_YESNO | Le message contient deux boutons: Oui et Non |
MB_YESNOCANCEL | La boîte de message contient trois boutons: Oui, Non et Annuler. |
2 .- Spécifiez un des drapeaux ci-dessous pour afficher une icône dans la boîte de message:
Drapeaux | Signification |
MB_ICONEXCLAMATION | une icône de point d'exclamation apparaît dans la boîte de message. |
MB_ICONWARNING | |
MB_ICONINFORMATION | une icône qui est un i minuscule dans un cercle apparaît dans la boîte de message. |
MB_ICONASTERISK | |
MB_ICONQUESTION | Une icône de point d'interrogation apparaît dans la boîte de message. |
MB_ICONSTOP | une icône de panneau d'arrêt apparaît dans la boîte de message. |
MB_ICONERROR | |
MB_ICONHAND | |
3 Spécifiez un des drapeaux ci-dessous pour indiquer le bouton par défaut:
Drapeaux | Signification |
MB_DEFBUTTON1 | Le premier bouton est le bouton par défaut. |
MB_DEFBUTTON2 | Le deuxième bouton est le bouton par défaut. |
MB_DEFBUTTON3 | Le troisième bouton est le bouton par défaut. |
MB_DEFBUTTON4 | Le quatrième bouton est le bouton par défaut. |
MB_DEFBUTTON1 est le défaut, sauf si spécifié MB_DEFBUTTON2, MB_DEFBUTTON3 ou MB_DEFBUTTON4.
Valeur de retour
La valeur de retour est nul si la mémoire est insuffisante pour créer la boîte de message.
Si la fonction réussit, la valeur de retour est l'un des éléments de menu suivants des valeurs retournées par la boîte de dialogue:
Valeur | Valeur numérique | Signification |
IDABORT | 3 | L'utilisateur a choisi le bouton Annuler. |
IDCANCEL | 2 | L'utilisateur a choisi le bouton Annuler. |
IDIGNORE | 5 | L'utilisateur a choisi le bouton Ignorer. |
IDNO | 7 | L'utilisateur sélectionne le bouton Non |
IDOK | 1 | L'utilisateur a choisi le bouton OK. |
IDRETRY | 4 | L'utilisateur a choisi le bouton Réessayer. |
IDYES | 6 | L'utilisateur a sélectionné le bouton Oui |
Si une boîte de message a un bouton Annuler, la fonction renvoie la valeur IDCANCEL si la touche ESC est pressé ou le bouton Annuler est sélectionné. Si la boîte de message n'a pas de bouton Annuler, en appuyant sur ESC n'a pas d'effet.
4.1. Exemple d'utilisation de la MessageBox
Dans l'exemple suivant, vous entrez dans l'appel à MessageBox dans une instruction if. La boîte de message s'affiche en arrivant à la décision et attend que l'utilisateur d'agir sur elle. Lorsque vous fermez la valeur de retour MessageBox est capturé et évaluées par la décision. Dans ce cas, si vous avez appuyé sur le bouton d'acceptation IDOK exécuter le corps de la phrase, sinon il est mis au rebut.
void __fastcall TForm1:: Button1Click (TObject * Sender)
{
if (Application-> MessageBox ("Enregistrer le fichier?", "Enregistrer sous" MB_OKCANCEL) == IDOK)
{
/ / Enregistrer le fichier
}
}
Exemple MessageBox
L'exemple suivant montre la combinaison de plusieurs indicateurs pour configurer les boutons à afficher le long d'une icône.
void __fastcall TForm1:: Button1Click (TObject * Sender)
{
if (Application-> MessageBox ("Enregistrer le fichier?", "Enregistrer sous" MB_OKCANCEL + MB_ICONQUESTION) == IDOK)
{
/ / Enregistrer le fichier
}
}
Exemple de combinaison de plusieurs drapeaux dans MessageBox