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

MFC Discussion :

Probleme C++ fenetre de confirmation


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 12
    Par d�faut Probleme C++ fenetre de confirmation
    Bonjour tout le monde,

    Je fais mes d�buts en C++ et j'ai un petit probl�me au niveau d'un programme.
    Je cherche � afficher une fenetre de confirmation de fermeture de programme. Mon probl�me est que j'arrive � d�sactiver la fenetre du programme principal mais on peut encore cliquer sur celle ci. Je cherche donc a la rendre inactive completement.
    Voici l'extrait du code correspondant :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void ProgMain::OnMenuProgClose() 
    { 
    if((::MessageBox(NULL,"Voulez-vous vraiment quitter ?","Prog2.0", MB_ICONQUESTION | MB_YESNO)==IDYES)) 
    { 
    EnableWindow(false); 
    CDialog::EndDialog( IDOK ) ; 
    } 
    else 
    { 
    EnableWindow(true); 
    } 
    }
    Je mis prends peut etre pas de la bonne fa�on, si quelqu'un pouvait me donner un coup de main.

    Merci

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Essaie ceci:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    if((MessageBox("Voulez-vous vraiment quitter ?","Prog2.0", MB_ICONQUESTION | MB_YESNO)==IDYES))
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 12
    Par d�faut
    Salut,

    J'ai essay� cette methode mais le probleme est que je n'arrive pas a rendre la fenetre de mon programme completement inactive (on peut encore cliquer dessus!).

    Merci pour ta r�ponse quand meme.

  4. #4
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    utilise AfxMessageBox ou rajoute le flag MB_TASKMODAL � ton MessageBox.

  5. #5
    Membre �prouv�
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    100
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 100
    Par d�faut
    Salut,

    ce qui est bizar c'est qu'un AfxMessageBox ou un MessageBox sont modal par d�faut ?

    De quel type est ta classe ProgMain ?
    Pourquoi rendre ProgMain inactive avant de la fermer ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 12
    Par d�faut
    Salut,
    Je veux rendre la fenetre principale inactive afin qu'on soit oblig� de r�pondre � la message box. J'y arrive avec le programme ci dessous, le probl�me est que lorqu'on r�pond non � la message box, le programme reste ouvert mais si une autre application est active, ma fenetre principale passe en arri�re plan ce qui n'est pas g�nial.

    void GearodMain::OnMenuGearodClose()
    { EnableWindow(false);

    if((MessageBox(NULL,"Voulez-vous vraiment quitter Gearod 2.0 ?","Gearod 2.0", MB_ICONQUESTION | MB_YESNO)==IDYES))
    {
    CDialog::EndDialog( IDOK ) ;
    }
    else
    {
    EnableWindow(true);
    }
    }

    Voila, A+

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 4
    Dernier message: 10/05/2006, 21h26
  2. probleme execution(fenêtre gtk)
    Par argon dans le forum GTK+ avec C & C++
    R�ponses: 15
    Dernier message: 01/05/2006, 11h25
  3. debutant: probleme aparition fenetre
    Par ptitom1381 dans le forum MFC
    R�ponses: 2
    Dernier message: 06/04/2006, 14h38
  4. [PHP-JS] Fenetre de confirmation
    Par Seth77 dans le forum Langage
    R�ponses: 2
    Dernier message: 10/02/2006, 23h43
  5. Probleme fermeture fenetre
    Par lemagicien dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 22/12/2005, 14h40

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