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 :

Deux fenetres Affichées et je veux en fermer une seule (Dialog Based)


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 65
    Points
    65
    Par défaut Deux fenetres Affichées et je veux en fermer une seule (Dialog Based)
    Bonjour je suis entrain de faire une interface avec une DIALOG BASED
    Mon soucis est le suivant:
    J'ai créer une premiere fenetre ou je dois rentrer mes données, et j'ai créer seconde fenetre qui s'affiche lorsque je click sur le bouton "annuler" et qui demande si je confirme que je quitte l'application.
    Si "oui" Tout se ferme (Marche super bien)
    Si "non" je veux simplement fermer la seconde fenetre.

    Voila se que j'ai essayé:

    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 dialogue::OnCancel() 
    {
        // TODO: Add extra cleanup here
        DestroyWindow();
    /* ca me plante tout */
    }
     
    void dialogue::OnCancel() 
    {
        // TODO: Add extra cleanup here
        CloseWindow();
    /*la la fenetre se reduit en a gauche de la page */
    }
     
    void dialogue::OnCancel() 
    {
        // TODO: Add extra cleanup here
        OnCancel(); /* ou */  EndDialog();
    /* La tout se ferme */
    }
    Moi je voudrais fermer la seconde fenetre pour revenir a la premiere pour changer les données.
    Merci.

  2. #2
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    la deuxieme est une boite de dialogue modale ?
    elle se ferme normalement sur OnOk ou OnCancel ou en appelant EnDialog.
    La premiere ne devrait pas se fermer sauf si tu as placé l'appel de la seconde dialogue dans le OnOk de la premiere.
    si c'est le cas il suffit de ne pas appeler la fonction de la classe de base.
    CDialog::OnOk().

  3. #3
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    Citation Envoyé par orj30754
    En faite j ai essayer les trois codes que je ai mis sur le forum.
    Je voudrais fermer la Deuxieme fenetre comme si c'etait une fenetre d'info avec un icone (MB_ICONINFORMATION par exemple);
    Mais si je mets OnCancel(); ou EndDialog(); ca me ferme les deux boites de Dialog.
    En cliquant sur Annuler j'aimerais revenir a la premiere et ne plus voir celle ou je demande si je veux quitter ou pas....
    J'espere que tu me comprendra.
    lol.
    j'ai bien compris, mais ça depend comment tu as fais l'appel de cette deuxieme boite de dialogue et ça ton code ne le montre pas;....

  4. #4
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 65
    Points
    65
    Par défaut Rep
    Un petit souci de plus, je viens d'inserer un nouveau bouton puis je l'ai supprimer et voila ce que ca me dit maintenant.
    Je te l'ai mis en piece jointe c'est Probleme
    et nouveau dossier c'est mon code.
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  5. #5
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    tu as cette erreur parce que certainement tu as associé une variable à ce bouton.
    regarde ta fonction DoDataExchange ...

  6. #6
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    tu as oublié le repertoir res dans ton zip.

  7. #7
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 65
    Points
    65
    Par défaut Re fichier.ZIP
    Désolé mais je peux pas joindre le fichier .RAR il est trop gros
    Voila je t en ai joint un autre mais il n y a pas le .EXE
    Fichiers attachés Fichiers attachés

  8. #8
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    bon maintenant que j'ai le prog,
    tu peux me reexpliquer le probleme ? ,la sequence qui ferme le programe avec la deuxieme dialogue ?
    une remarque aussi qui peut peut etre expliquer ton probleme...
    sprintf je ne sais pas à quoi tu t'attends en l'utilisant mais ça ne fonctionne pas comme ça!
    sprintf c'est comme printf ou la méthode Format de la classe CString
    le resultat de la chaine formattée va dans le premier argument.
    donc sprintf prend au minimum trois arguments :
    la variable de chute,la chaine de format ,et le ou les arguments.
    toi tu dois confondre avec strcpy .
    note : dans un programme C++ il est préferable d'utiliser le C++ et de mettre de coté les fonctions C de la CRT ,pour eviter tous les bugs potentiels de debordement mémoire ....

  9. #9
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 65
    Points
    65
    Par défaut Fenetres
    Oui je viens de voir qu'a deux ou trois fois j'utilise un Sprintf pour recopier une variable dans une autre, c'est pas bien grave je viens de les changer avec des STRCPY. Un truc, n'essai pas de lancer le programme avec le bouton EXECUTER parce qu'il ne fonctionnera pas je pense.
    Mais tu peux toujours le lancer et lorsque la fenetre apparait avec les 4 champs a choisir, clik sur ANNULER, et la une fenetre doit apparaitre en te demandant de confirmer ton choix.
    Si OUI tous se ferme, si clik sur ANNULER je voudrais que la fenetre de confirmation se ferme mais pas l'autre, celle ou tu dois remplir les 4 champs.
    lol j'espere que tu as compris.........

  10. #10
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 65
    Points
    65
    Par défaut
    Bon j'ai trouver c'est bon j'avais simplement fais une petite ERREUR je mets l'erreur puis la solution.
    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
     
    void CListingDlg::OnCancel() 
    {
    	// TODO: Add extra cleanup here	
    	if(MessageBox("VOULEZ VOUS VRAIMENT QUITTER L'APPLICATION ?","QUITTER",MB_YESNO+MB_ICONINFORMATION)==IDYES)
    	{
    	        OnOK();
    	}
               CDialog::OnCancel();
    }
    /********************************************************/
    void CListingDlg::OnCancel() 
    {
    	// TODO: Add extra cleanup here	
    	if(MessageBox("VOULEZ VOUS VRAIMENT QUITTER L'APPLICATION ?","QUITTER",MB_YESNO+MB_ICONINFORMATION)==IDYES)
    	{
    		CDialog::OnCancel();
    	}
    }
    La ca va mieux. Après le test je fermais a chaque fois normal FARSCAPE............
    pense a mettre la balide de codes ,Merci Farscape

  11. #11
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    ben oui ,c'est pour ça que je t'ai demandé la séquence en cause ,parce que je ne voyais rien d'anormal dans tout ça....

    si c'est ok pense à mettre résolu sur ton post avec le bouton

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 30/09/2010, 17h51
  2. Afficher le mot de passe qu'une seule fois
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/03/2009, 11h50
  3. fermer une seule fenetre dans une application
    Par krikri1504 dans le forum Débuter
    Réponses: 3
    Dernier message: 24/01/2009, 15h34
  4. afficher contenu d'un tabeau dans une boite dialog
    Par meera dans le forum Visual C++
    Réponses: 7
    Dernier message: 23/11/2006, 16h45
  5. fermer une seule fenêtre
    Par comme de bien entendu dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 14/03/2006, 09h45

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