IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

ShowMessage avec deux boutons


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut ShowMessage avec deux boutons
    Bonjour,

    J'aimerais qu'un message s'affiche a l'écran par exemple avec un ShowMessage puis pouvoir demander quelque chose à l'utilisateur, par exemple un bouton "oui" et un bouton "non", après si l'utilisateur à appuyé sur le bouton oui faire quelquechose, si il a appuyé sur le bouton non faire autre chose..

    Merci de votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    pour faire ça il faut utiliser une messagebox

    je te laisse regarder dans l'aide de builder

  3. #3
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Tu peux également regarder du côté de MessageDlg.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    bakaneko tu peux m'expliquer le fonctionnement de MessageDlg stp ?

  5. #5
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    L'aide le fait très bien mais je vais faire l'effort pour cette fois...

    Voici la tête de la fonction :
    int MessageDlg(constAnsiString Msg, TMsgDlgType DlgType, TMsgDlgButtons Buttons, int HelpCtx);

    Explication des paramètres :
    Msg : le message dans la boite de Dialogue
    DlgType : Type de la boite de dialogue. Il existe 5 types différents :
    mtWarning->Une boîte de message contenant un signe point d'exclamation jaune.
    mtError->Une boîte de message contenant un signe de stop rouge.
    mtInformation->Une boîte de message contenant un "i" bleu.
    mtConfirmation->Une boîte de message contenant un point d'interrogation vert.
    mtCustom->Une boîte de message ne contenant pas d'image. Le titre de la boîte de dialogue est le nom du fichier exécutable de l'application.

    Buttons : Type de boutons à faire apparaitre. Voici les différentes valeurs possibles :
    mbYes->Un bouton avec le texte "Oui".
    mbNo->Un bouton avec le texte "Non".
    mbOK->Un bouton avec le texte "OK".
    mbCancel->Un bouton avec le texte "Annuler".
    mbAbort->Un bouton avec le texte "Abandonner".
    mbRetry->Un bouton avec le texte "Réessayer".
    mbIgnore->Un bouton avec le texte "Ignorer".
    mbAll->Un bouton avec le texte "Tous".
    mbNoToAll->Un bouton avec le texte "Non à tout"
    mbYesToAll->Un bouton avec le texte "Oui à tout"
    mbHelp->Un bouton avec le texte "Aide".
    mbYesNoCancel->mbYes, mbNo et mbCancel
    mbYesNoAllCancel->mbYes, mbYesToAll, mbNo, mbNoToAll et mbCancel
    mbOKCancel->mbOK et mbCancel
    mbAbortRetryIgnore->mbAbort, mbRetry et mbIgnore
    mbAbortIgnore->mbAbort, mbIgnore

    HelpCtx : identificateur du contexte de la rubrique d'aide (je ne sais pas comment on s'en sert )

    Exmple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      TList *pList = new TList();
      AnsiString TheObject = "C'est un objet."
      try
      {
        pList->Add(TheObject); // ajoute l'instance de AnsiString à la liste
        MessageDlg("La liste possède " + IntToStr(pList->Count) + "objets", 
                   mtInformation, TMsgDlgButtons() << mbOk, 0);
        pList->Remove(TheObject);
        MessageDlg("La liste possède " + IntToStr(pList->Count) + "objets", 
     
                   mtInformation, TMsgDlgButtons() << mbOk, 0);
      }
      __finally
      {
        delete pList;
      }
    }

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Salut, j'ai mis ca comme carte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageDlg("coucou", mtInformation, TMsgDlgButtons() << mbOk, 0);
    Et ca ne fonctionne pas, je fais comment ? Ou est la faute ?

  7. #7
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Essayes comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MessageDlg("coucou", mtInformation, TMsgDlgButtons() << mbOK, 0);

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Comme t'as marqué dans ta dernière réponse ca foctionne, mais maintenant je fais comment si je veux mettre deux boutons ? Un oui et un non et faire un test par après, genre, si l'utilisateur appuie sur le bouton "oui" faire quelque chose et si l'utilisateur appuie sur le bouton "non" faire quelque chose d'autre.

    Merci

  9. #9
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MessageDlg("coucou", mtInformation, TMsgDlgButtons() << mbYes<<mbNo, 0);

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Okey merci, et pour faire l test des deux boutons ?

  11. #11
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    tu test le retour de la fonction MessageDlg

    et l'aide donne

    Valeur TMsgDlgBtn---------Valeur renvoyée correspondante

    mbOK---------mrOk
    mbCancel--------- mrCancel
    mbYes--------- mrYes
    mbNo--------- mrNo
    mbAbort--------- mrAbort
    mbRetry--------- mrRetry
    mbIgnore--------- mrIgnore
    mbAll--------- mrAll
    mbNoToAll--------- mrNoToAll
    mbYesToAll ---------mrYesToAll

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Par exemple, je veux que le texte "bonjor a tous" s'affiche dans mon TEdit quand l'utilisateur appuie sur le bouton "oui", ca donnerai quoi ?

    A+

  13. #13
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    int ret = MessageDlg("coucou", mtInformation, TMsgDlgButtons() << mbYes<<mbNo, 0);

    if (ret == mrYes)
    {



    }

  14. #14
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    ça donnerai ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int ret = MessageDlg("coucou", mtInformation, TMsgDlgButtons() << mbYes<<mbNo, 0);
     
    if (ret == mrYes)
    {
     Edit1->Text = "bonjour a tous";
    }

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Ce code ne fonctionne pas avec le bouton OK.. Est-ce normal ?

  16. #16
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    J'ai testé le bout de code, et chez moi cela fonctionne!
    J'ai bien le message qui s'affiche dans mon Edit.

    Peux-tu préciser le problème?
    Ca ne fait rien du tout?

  17. #17
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Citation Envoyé par El-Diablo-
    Ce code ne fonctionne pas avec le bouton OK.. Est-ce normal ?
    Avec le bouton Ok il faut utiliser mrOk et non mrYes.

    Donc il faut mettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (ret == mrOk)
    {
     Edit1->Text = "bonjour a tous";
    }

  18. #18
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Citation Envoyé par El-Diablo-
    Ce code ne fonctionne pas avec le bouton OK.. Est-ce normal ?
    Ah autant pour moi, j'avais pas vraiment compris la question, désolé!

    Comme l'a dit Crayon, il faut bien mettre mrOk, ce qui te donnerai un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      int ret = MessageDlg("coucou", mtInformation, TMsgDlgButtons() << mbOK<<mbCancel, 0); // mbCancel pour annuler
      if (ret == mrOk)
      {
      Edit1->Text = "bonjour a tous";
      }
      else
      {
        Edit1->Text = "Au revoir";
      }
    }
    A+

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    On peut pas que laisser un bouton Ok ? Parce que avec le code que tu m'as donné, j'ai aussi le bouton cancel, et si j'enlève, mbCancel ca ne fonctionne pas..

  20. #20
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut !

    Tu as sans doute fait une erreur dans le code car on peut ne mettre que OK!

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      int ret = MessageDlg("coucou", mtInformation, TMsgDlgButtons() << mbOK, 0);
     
      Edit1->Text = "bonjour a tous";
     
    }
    Cependant, tu n'as donc plus besoin de faire de test avec des if ... vu que la valeur retournée par MessageDlg sera toujours mrOk ... c'est donc ce que j'ai fait en supprimant le bloc! Après tu vas peut être faire autrement par la suite ...

    Enfin j'espère que ça répond à ta question

Discussions similaires

  1. Formulaire avec deux boutons submit
    Par Taz_8626 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 30/03/2006, 11h41
  2. Formulaire avec deux boutons
    Par Oberown dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2005, 17h06
  3. Réponses: 8
    Dernier message: 09/03/2005, 10h47
  4. [JTable] Cellule avec deux boutons
    Par cherbox dans le forum Composants
    Réponses: 3
    Dernier message: 12/08/2004, 17h26
  5. Réponses: 10
    Dernier message: 10/06/2004, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo