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 :

MDI interaction entre plusieurs vues


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Par défaut MDI interaction entre plusieurs vues
    bonjour,
    je travaille avec les MFC sur le logiciel VC++ en MDI
    je n'arrive pas à avoir une interaction entre 2 vue
    j'ai bien fait attention à avoir le même document pour les 2 vues

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Initinstance:
    pDocTemplate = new CMultiDocTemplate(
    IDR_ROBOTTYPE,
    RUNTIME_CLASS(CROBOTDoc),
    RUNTIME_CLASS(CChildFrame), // custom MDI child frame
    RUNTIME_CLASS(CInterfaceCAN));
    AddDocTemplate(pDocTemplate);
     
    pDocTemplate2 = new CMultiDocTemplate(
    IDR_ROBOTTYPE,
    RUNTIME_CLASS(CROBOTDoc),
    RUNTIME_CLASS(CChildFrame), // custom MDI child frame
    RUNTIME_CLASS(CReseauxCAN));
    ensuite je ne sais pas comment m'y prendre
    je veut seulement envoyer la valeur de la variable d'une vue à une autre vue

    merci d'avance

  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,
    voir la faq, il suffit de récupérer le pointeur sur la vue obtenu a partir du document.
    http://cpp.developpez.com/faq/vc/?pa...OnSameDocument

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Est-ce que CDocument::UpdateAllViewscorrespond à ton besoin?

  4. #4
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Par défaut
    bonjour,
    j'ai essayer ce code:
    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 CInterfaceCAN::OnInitialUpdate() 
    {
    	CFormView::OnInitialUpdate();
     
    	CROBOTDoc *pDoc = (CROBOTDoc *)GetDocument();
    	pDoc->hello = 5;
    	UpdateData(TRUE);
    	pDoc->UpdateAllViews(this);
    }
     
    void CReseauxCAN::OnButtondemarrer() 
    {
    	CROBOTDoc* pDoc = (CROBOTDoc*)GetDocument();
    	ASSERT_VALID(pDoc);
    	CString bleu=pDoc->hello;
     
     
    }
    je met bien la variable hello dans la classe CDOC
    Ca nemarche pas car pDOC n'est as le même entre la premier vue et la 2emes

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Par défaut
    j'ai essayé ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void CTestMdiView::OnInitialUpdate() 
    {
        CView::OnInitialUpdate();
        // TODO: Add your specialized code here and/or call the base class
        CTestMdiApp *TheApp=(CTestMdiApp*)AfxGetApp();
        CFrameWnd * pFrame =TheApp->m_pTwoDocTemplate->CreateNewFrame(GetDocument(),GetParentFrame());
       TheApp->m_pFirstTemplate->InitialUpdateFrame(pFrame,GetDocument()); 
    }
    Ca me copie bien une autre fenetre. mais comment faire passer une variable

    merci d'avance

  6. #6
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Par défaut
    Avez-vous un programme d'exemple s'il vous plaît?

    Merci d'avance

  7. #7
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 4
    Par défaut
    Citation Envoyé par parain3874 Voir le message
    bonjour,
    j'ai essayer ce code:
    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 CInterfaceCAN::OnInitialUpdate() 
    {
    	CFormView::OnInitialUpdate();
     
    	CROBOTDoc *pDoc = (CROBOTDoc *)GetDocument();
    	pDoc->hello = 5;
    	UpdateData(TRUE);
    	pDoc->UpdateAllViews(this);
    }
     
    void CReseauxCAN::OnButtondemarrer() 
    {
    	CROBOTDoc* pDoc = (CROBOTDoc*)GetDocument();
    	ASSERT_VALID(pDoc);
    	CString bleu=pDoc->hello;
     
     
    }
    je met bien la variable hello dans la classe CDOC
    Ca nemarche pas car pDOC n'est as le même entre la premier vue et la 2emes
    Salut,

    Si t'a bien suivi
    http://cpp.developpez.com/faq/vc/?pa...OnSameDocument

    t'a le même doc entre les 2 views
    A mon avis il te manque de recuperer le message envoyé par appel de fct
    UpdateAllViews
    Il te faut créer la fct OnUpdate dans les views pour recuperer les modifs
    http://msdn.microsoft.com/en-us/libr...fw(VS.80).aspx

    A+
    Payman

  8. #8
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Par défaut
    Bonjour à touos et encore merci d'avoir pris le temps de me répondre
    j'ai réussi a dialoguer avec les 2 vue grâce a vos message.

    par contre un autre probleme apparait qui est assez bizarre.
    En fait quand je compile j'a 3 erreurs quiapparaissent:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    :\documents and settings\propriétaire\bureau\archive\robot vc++ 6.0\interfacecan.h(50) : error C2143: syntax error : missing ';' before '*'
    c:\documents and settings\propriétaire\bureau\archive\robot vc++ 6.0\interfacecan.h(50) : error C2501: 'CReseauxCAN' : missing storage-class or type specifiers
    c:\documents and settings\propriétaire\bureau\archive\robot vc++ 6.0\interfacecan.h(50) : error C2501: 'm_Reseaux' : missing storage-class or type specifiers
    La ligne de code qui pose probleme est celle là.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CReseauxCAN *m_Reseaux;
    alors ce que je fait, je la met en commentaire puis je compile, ensuite j'enleve les commentaires et les erreurs diparaisse.

    Ensuite à chaque fois que je rajoute du code, ces erreurs réapparaissent alors je fais la manip ci-dessus et voila.

    Pourquoi etcomment puis-je y remedier?

    je vous remercie d'avance

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

Discussions similaires

  1. [RCP] Evénements de selection entre plusieurs vues
    Par stadou dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 29/01/2009, 16h30
  2. jointure entre plusieurs vues
    Par oxilab dans le forum Requêtes
    Réponses: 1
    Dernier message: 04/12/2007, 19h04
  3. [RCP] interaction entre les vues
    Par stachus dans le forum Eclipse Platform
    Réponses: 7
    Dernier message: 14/09/2007, 15h01
  4. interaction entre plusieur script python par le biai d'internet
    Par yggdrazil dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 01/11/2006, 14h36
  5. [RCP] Interaction entre les vues
    Par MarneusCalgarXP dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 10/10/2006, 22h52

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