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 :

[debutant] acces à la vue depuis boites de dialogues "imbriquées"


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 149
    Par défaut [debutant] acces à la vue depuis boites de dialogues "imbriquées"
    coucou !

    Je cree une premiere boite de dialogue non modale DGL1, sur clic d'un bouton de celle ci, je cree une deuxieme boite, DLG2, modale.
    Je souhaiterais modifier ma vue à la fermeture de DLG2, seulement, je n'arrive pas à y acceder.
    j'ai pensé au getparent(), mais, etant donné que ma boite est créée par une autre boite ca ne marche pas...

    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
    Par défaut
    salut,
    c'est quoi la vue (sa classe) ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 149
    Par défaut
    c'est la CView de mon appli en fait (SDI)

  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

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 149
    Par défaut
    cela ne marche pas, ca me met une erreur dans le .h de ma vue à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CtrivialDoc* GetDocument() const;
    "erreur de syntaxe : absence de ';' avant '*'" ...

    merci !

  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
    Par défaut
    et ou ai-je fait référence a GetDocument() dans ce post ?

  7. #7
    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
    Bonjour,

    Tu appelles forcemement DLG2 sur un événement de DLG1.
    essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void CDlg1::OnEvent() { // L'evenement sur lequel tu appels ta DLG2
     CDlg2 dlg;
     
     if (dlg.DoModal() == IDOK) { // Si tu as cliquer sur le bouton OK de DLG2
       // Ton traitement pour mettre à jour DLG1
     }
    }

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 149
    Par défaut
    farscape :

    bah, nul part, c'est jsutememnt pour ca que je ne comprend pas pkoi ca ne marche pas. Ca vient de mon inclusion de ma vue dans ma boite de dialogue je crois...


    Sifo-Dyas

    merci, mais moi je souhaite modifier ma vue a partir de dlg2, et non pas modifier dlg1

  9. #9
    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
    tu as du oublier de mettre l'include de ta classe vue dans le source de ta dialogue...

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 149
    Par défaut
    justement, c'est lorsque je le mets que ca plante...
    et, logiquement, si je le met pas, ca marche pas non plus

  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
    Par défaut
    ce n'est pas précis tout ça ,
    comment veux tu que l'on fasse une reponse avec ce que tu donnes comme indications ?
    ça plante : c'est quoi qui plante ? le programme à l'exécution ?
    ton post précédent faisait l'état d'une erreur de compilation...

    sans indications précises du sujet on ne pourra rien dire ...

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 149
    Par défaut
    C'est vrai, alors je vais essayé d'etre claire...
    pour accéder à ma vue depuis ma boite de dialogue, je dois faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // acces à la seule vue active 
    	    CView *pView=static_cast<CFrameWnd *>(AfxGetMainWnd())->GetActiveView();
    	// transformation sur la classe de la vue.
    	    CtrivialView  * pSDIView = static_cast<CtrivialView*>(pView);
    seulement, pour pouvoir declarer un pionteur de type CTrivialView, il faut que j'inclue le "CtrivialView.h" non ?
    Et bien c'est lorsque je l'inclu que j'ai l'erreur de compilation ci dessus...

    j'espere que c'est mieux...
    merci !

  13. #13
    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
    hé bien il te manque l'include de ta classe document dans ce .cpp....
    à mettre au dessus de de celui de ta vue.

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 149
    Par défaut
    ah ok...
    ca marche !
    merci beaucoup !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/05/2007, 18h54
  2. [DEBUTANT] Supression feuille sans boite de dialogue
    Par drikse dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/09/2006, 13h47
  3. [ Debutant ][ Jar ] Accès fichier externe depuis Jar
    Par Warz dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 22/05/2006, 11h32
  4. [debutant][ActiveX]Boite de dialogue
    Par r0d dans le forum MFC
    Réponses: 8
    Dernier message: 25/01/2006, 10h58
  5. Réponses: 17
    Dernier message: 18/10/2005, 21h19

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