[windows][dev-c++ 4]messagebox v1.3

Soyez le premier à donner votre avis sur cette source.

Vue 6 410 fois - Téléchargée 372 fois

Description

Ce programme cree une suite de MessageBox determiner
par les actions effectuées sur les boutons.

Source / Exemple :


// Fichiers d'en-tête (header)
#include <windows.h>

// Entrée du programme ( Fonction principale: "WinMain" )
int WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
{

    int clic;       // Declaration de la variable "clic"
    do              // Entrée de la boucle Do-While
    {
         // Renvoi la reponse de la MessageBox a la variable "clic"
         clic = MessageBox( HWND_DESKTOP, "Appuyer sur un bouton", " Duckz: Tutorial sur les MessageBox", MB_ABORTRETRYIGNORE|MB_ICONMASK|MB_RTLREADING);
         switch (clic)     // Debut de l'instruction Switch
         {
                case IDABORT:    // Si "clic" contient "IDABORT"
                     MessageBox( HWND_DESKTOP, "Vous avez appuyé sur ABORT", " Duckz: Tutorial sur les MessageBox", MB_OK|MB_ICONQUESTION);
                     break;      // Sorti du switch
                case IDRETRY:    // Si "clic" contient "IDRETRY"
                     MessageBox( HWND_DESKTOP, "Vous avez appuyé sur RETRY", " Duckz: Tutorial sur les MessageBox", MB_OK|MB_ICONASTERISK);
                     break;      // Sorti du switch
                case IDIGNORE:   // Si "clic" contient "IDIGNORE"
                     MessageBox( HWND_DESKTOP, "Vous avez appuyé sur IGNORE", " Duckz: Tutorial sur les MessageBox", MB_OK|MB_ICONERROR);
                     break;      // Sorti du switch
                default:         // Si "clic" ne contient ni "IDABORT", ni "IDRETRY", ni "IDIGNORE"
                     break;      // Sorti du switch
         }
         // Renvoi la reponse de la MessageBox a la variable "clic"
         clic = MessageBox( HWND_DESKTOP, "Voulez vous quitter le programme ?", " Duckz: Tutorial sur les MessageBox", MB_YESNO|MB_ICONWARNING|MB_RIGHT);
    }
    while (clic!=IDYES);  // Repitition conditionelle de la boucle Do-While
    return 0;   // Sortie du programme
}

// MessageBox( [1], [2], [3], [4] )
//
//   [1]:  Niveau de la couche d'affichage
//         "HWND_DESKTOP" represente la couche la plus haute
//         (la premiere devant vos yeux)
//
//   [2]:  Contenu de la MessageBox au format texte (entre guillemet)
//         Le texte peut etre afficher sur plusieurs ligne grace au
//         caractere "\n" (sauter une ligne).
//
//   [3]:  Titre de la message box
//         Le titre ne peut etre afficher que sur une seul ligne            
//
//   [4]:  Definition des objets de la MessageBox
//         Les objets sont separé par le caractere "|"
//         L'ordre des objets n'a aucunne importance.
//         Vous pouvez definir q'un seul objet "Bouton" ( HELP est une exeption )
//         et "Icone", si vous en mettez deux, seul le premier sera traité.

// Objets "Bouton" disponibles:
//
//   MB_OK                     [OK]
//   MB_OKCANCEL               [OK]+[CANCEL]
//   MB_YESNO                  [YES]+[NO]
//   MB_YESNOCANCEL            [YES]+[NO]+[CANCEL]
//   MB_RETRYCANCEL            [RETRY]+[CANCEL]
//   MB_ABORTRETRYIGNORE       [ABORT]+[RETRY]+[IGNORE]
//
//   MB_HELP                   ... +[HELP]

// Objets "Icone" disponibles:
//
//   MB_ICONERROR             [son1 + X sur rond rouge]
//   MB_ICONSTOP              [son1 + X sur rond rouge]
//   MB_ICONHAND              [son1 + X sur rond rouge]
//   MB_ICONWARNING           [son2 + ! sur triangle jaune]
//   MB_ICONEXCLAMATION       [son2 + ! sur triangle jaune]
//   MB_ICONINFORMATION       [son3 + i sur bulle blanche]
//   MB_ICONASTERISK          [son3 + i sur bulle blanche]
//   MB_ICONQUESTION          [pas de son + ? sur bulle blanche]
//   MB_ICONMASK              [pas de son + pas d'icone]
//   MB_USERICON              [pas de son + icone invisible]
//
//   Par defaut les message box possede le [son0] qui peut 
//   etre annuler par certains icones.

// Autres Objets disponibles:
//
//   MB_RTLREADING           [inverse toute la MessageBox comme un miroir]
//   MB_RIGHT                [decale le texte et le titre vers la droite]
//   MB_TYPEMASK             [empeche l'execution de la MessageBox]

// Message de retour des boutons:
//
//   ID_YES                  [YES]
//   ID_NO                   [NO]
//   ID_OK                   [OK]
//   ID_CANCEL               [CANCEL]
//   ID_ABORT                [ABORT]
//   ID_RETRY                [RETRY]
//   ID_IGNORE               [IGNORE]
//   ID_HELP                 [HELP]

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
11
Date d'inscription
samedi 5 octobre 2002
Statut
Membre
Dernière intervention
24 octobre 2002

Nouvelle version : MESSAGEBOX v1.3

Légére modification dans la description des options.
Messages postés
11
Date d'inscription
samedi 5 octobre 2002
Statut
Membre
Dernière intervention
24 octobre 2002

Nouvelle version : MESSAGEBOX v1.2

Desormais le choix de quitter le programme vous appartient !
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

C'est pas pour me faire plaisir qu'il faut éviter les gotos, mais pour rendre un programme plus lisible.
Je suis d'accord avec toi ce code n'est pas illisible avec un goto mais disons qu'il faut éviter de prendre de mauvaises habitudes.
Messages postés
11
Date d'inscription
samedi 5 octobre 2002
Statut
Membre
Dernière intervention
24 octobre 2002

Ancienne source : MESSAGEBOX v1.0
Novelle source : MESSAGEBOX v1.1 > Pour fair plaisir a Kaid
Messages postés
11
Date d'inscription
samedi 5 octobre 2002
Statut
Membre
Dernière intervention
24 octobre 2002

j avais mis par megarde ce code dans la section .net ; je viens de rectifier cette erreur
je ne pense pas qu un goto rende un code source, de cette taille, illisible
Si tu ne met pas "return 0" le programme vas tourner en boucle et le seul moyen d en sortir sera [Control][Alt][Suppr] !!!
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.