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 :

Création d'une boite de dialogue type MessageBox


Sujet :

C++Builder

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Points : 152
    Points
    152
    Par défaut Création d'une boite de dialogue type MessageBox
    Bonjour,

    j'aimerai créer une boite de dialogue contenant deux boutons "oui" et "non". Lorsque l'utilisateur clic sur "oui" je retourne 1 et 0 dans le cas contraire.

    J'aimerai que dans mon programme j'appelle simplement la fenetre de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int rep = MaMessageBox(TitreFenetre, Texte);
    Mais je ne vois pas comment faire pour que ce soit aussi simple. Mon code ressemblerai plus à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MaMessageBox->Init(TitreFenetre, Texte);
    MaMessageBox->ShowModal();
    int rep = MaMessageBox->GetReponse();
    Voilà

  2. #2
    Membre averti
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Points : 360
    Points
    360
    Par défaut
    Tout simplement ceci (si j'ai bien compris la question) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (Application->MessageBox("texte du message",
                                "texte de la barre de titre",
                                MB_YESNO) == IDYES)
      // réponse "Oui"
    else
      // réponse "Non"
    RAD Studio 10.3 / Ubuntu 20.04 - RYZEN 7 2700X - 24Go de RAM

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Points : 152
    Points
    152
    Par défaut
    C'est ce que je veux faire, sauf que je ne veux pas utiliser la boite de dialogue par défaut. Je veux programmer ma propre boite de deialogue oui/non (elle est personalisé pour mon appli).

  4. #4
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    ben avec une form...c'est quoi exactement ton problème?
    [si je puis me permettre, je vois pas l'intéret]
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  5. #5
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Points : 152
    Points
    152
    Par défaut
    Le pb consiste à récupérer à effectuer en un seul appel de la fonction :
    - création de la forme (mais au pire je peux la créer automatiquement)
    - affichage de la forme en ShowModal
    - Sélection du "oui" ou "non" et renvoie la valeur

    PS: dans mon appli je vois l'intérêt; sinon je n'aurai pas poser la question.

  6. #6
    Membre averti
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Points : 360
    Points
    360
    Par défaut
    Si tu veux une fenêtre personnalisée et que tu crées par conséquent le Form ad hoc avec tes deux boutons, tu affectes à chacun de ces 2 boutons une valeur ModalResult que tu récupéreras ensuite dans la fonction appelant ShowModal().

    Pour moi, c'est pas plus compliqué que ça.
    RAD Studio 10.3 / Ubuntu 20.04 - RYZEN 7 2700X - 24Go de RAM

  7. #7
    Membre chevronné
    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
    Points : 2 189
    Points
    2 189
    Par défaut
    Tu n'as qu'à créer une fenêtre dynamiquement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        NouvelleFenetre = new TNouvelleFenetre("Allo", Application);
        if(NouvelleFenetre->ShowModal() == mrOk)
        {
            // On a cliquer sur OK
        }
        delete NouvelleFenetre;
    Tu dois ajouter bien sûr un nouveau constructeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    __fastcall TNouvelleFenetre::TNouvelleFenetre(AnsiString strTexte, TComponent* AOwner)
    	: TForm(AOwner)
    {
        // Tu affiches ton texte quelques part :-)
    }
    N'oublie pas de mettre la définition dans ton fichier d'en-tête!
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  8. #8
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Points : 152
    Points
    152
    Par défaut
    Une question un peu bête, mais je n'ai pas trouvé d'aide à ce sujet. Comment utilise ton l'attribut ModalResult ? Comment la valeur de la variable ModalResult est-elle transmise à mon programme ?

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

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Citation Envoyé par kurkaine
    Une question un peu bête, mais je n'ai pas trouvé d'aide à ce sujet. Comment utilise ton l'attribut ModalResult ? Comment la valeur de la variable ModalResult est-elle transmise à mon programme ?
    ModalResult est juste un entier. Il suffit d'affecter une valeur à ModalResult pour fermer la fiche. De plus, la valeur passée à ModalResult se retrouvera en sortie de la fonction ShowModal de la fiche.
    + + +

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. g_idle_add et création d'une boite de dialogue
    Par flo_k dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 24/08/2009, 13h57
  2. Réponses: 5
    Dernier message: 28/07/2009, 21h38
  3. Création d'une boite de dialogue
    Par sako31 dans le forum MATLAB
    Réponses: 7
    Dernier message: 07/11/2007, 15h35
  4. Réponses: 5
    Dernier message: 22/06/2007, 14h55
  5. Réponses: 18
    Dernier message: 04/12/2006, 21h22

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