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 :

Comment afficher des fenêtres en cascades


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 176
    Par défaut Comment afficher des fenêtres en cascades
    Salut, j'ai réussis à créer une fenêtre avec Visual C++ 6.0 à l'aide de la classe CDialog avec les méthodes Create(...) et ShowWindow(SW_SHOW) . Mais voilà, à partir de cette fenêtre, j'aimerais en afficher une autre en appuyant sur un bouton, j'ai donc tout naturellement essayé la même méthode que précédemment mais ça ne marche pas , pourquoi ?

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Ce ne sont donc pas des fenêtres, mais des boîtes de dialogue.

    Et que veux-tu dire par "ça marche pas" ?
    http://www.developpez.net/forums/sho...02&postcount=7

    Et peux-tu donner des précisions/du code sur la façon dont tu cherches à afficher ta seconde boîte de dialogue ?
    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 confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 176
    Par défaut ok
    Ben, justement, je croyais avoir créer des fenêtres, mais voilà le code que j'ai utilisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CDialog *pDialog;
    pDialog = new CDialog();
     
    pDialog->DestroyWindow();
    pDialog->Create(IDD_PASS,this); ou pDialog->Create(IDD_PASS,NULL);
    pDialog->ShowWindow(SW_SHOW);
    voilà


  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Déjà, je ne vois pas trop à quoi sert l'appel à CDialog:estroyWindow() sur ta seconde CDialog, puisqu'elle n'a pas encore été "créée".

    Ensuite, le reste devrait marcher... Teste les résultats de Create(), et regarde si tu peux avoir plus d'infos avec GetLastError()+FormatMessage() (je ne sais pas trop si ça marche sous MFC)...


    Edit: C'est bizarre que tu utilises directement des CDialog : Généralement, on définit une classe dérivée de CDialog et on définit les traitements dedans avec les assistants/ClassWizard...
    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.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 176
    Par défaut je vois
    En fait, le code de ci-dessus est le code derrière un bouton de mon interface graphique, la fonction DestroyWindow() me permet de détruire la fenêtre à chaque fois que je clique sur le bouton avant de la créer pour éviter des messages d'erreurs. Par contre, ce qui me faudrait, c'est qu'à partir d'une boite de dialogue, afficher une nouvelle fenêtre, mais je sais pas comment on fait !

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Ce que tu fais avec le DestroyWindow() ne marchera pas, puisque ce n'est plus sur la même CDialog que tu bosses. D'ailleurs, la CDialog créée est leakée après la fermeture de la boîte...

    PS: Tu as lu mon edit, sur les boîtes de dialogue?
    Je ne sais pas trop si on peut faire des fenêtres "simples" en MFC, vu qu'il y a toujours des trucs que le framework propose (barre d'état, toolbars, etc.)
    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.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 176
    Par défaut si ça marche
    Ce que je fais avec DestroyWindow() fonctionne , là n'est pas le souci, ce que je n'arrive pas à faire, c'est de relier des fenêtres avec une boite de dialogue ou relier plusieurs fenêtres entres elles. Je crée les fenêtres et les boites de dialogues à l'aide de l'onglet RessourceView avec "insert dialog" et "insert menu"

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/01/2015, 15h49
  2. Comment afficher des JPanels dans ma fenêtre principale JFrame en fonction du menu choisi?
    Par methodman225 dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 22/08/2010, 00h40
  3. Comment afficher des JPEG dans une application Delphi ?
    Par Bouguennec dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/09/2005, 21h18
  4. comment afficher des données Access sur Excel ??
    Par merlubreizh dans le forum Access
    Réponses: 9
    Dernier message: 14/09/2005, 14h38
  5. [TP][MULTI-PROBLEME]Comment afficher des images pcx
    Par mikoeur dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 24/10/2002, 13h57

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