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 variables Doc->CDialog


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Par défaut Probleme variables Doc->CDialog
    Bonjour,

    Alors voila je suis en train de réaliser une petite application (je suis pas tres familier en mfc) et j'ai un soucis : en effet, j'aimerais pouvoir exporter les données de ma classe dépendant de CDocument vers une fonction OnPaint() d'une CDialog. J'ai essayé deja de créer une classe CObjet où je stocke toutes mes valeurs mais des que j'accède à ma fonction OnPaint() de ma CDialog toutes les variables sont "vides". J'ai développé mon projet en SDI. Merci de vos reponses.

    Sur l'exemple ci dessous vous verrait le bout de code situé dans ma CDialog : la classe Objet contient toutes mes valeurs qui sont réinitialisés vu que je suis pas dans une View ni un Doc.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    CObjet Objet; // Sinon Objet non reconnu
    ...//Tracé
    for(k=0;k<NB;k++)
    	{
    		counter[k]=0;
    		for(j=0;j<Objet.NbEleve;j++)
    		{
    			if(Objet.TEleve[j].moyenne>k*25/NB && Objet.TEleve[j].moyenne<(k+1)*25/NB) // PB: recuperation variable de document ici
    				counter[k]++;
    		}
    	}
    ....//Tracé à l'aide de counter
    Merci de vos lumieres

    EDIT : Autre tentative avec declaration de

    CGestion_EleveDoc* pDoc=GetDocument();

    voila les erreurs que j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    error C2065: 'GetDocument' : undeclared identifier
    error C2440: 'initializing' : cannot convert from 'int' to 'class CGestion_EleveDoc *'

  2. #2
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    Bonjour,

    Un CDialog n'a pas de membre GetDocument(), seul les CView sont rattachés a un document.

    Il suffit de mettre une variable dans CDialog:
    CGestion_EleveDoc *m_pDocument;

    Et avant de faire le DoModal(), initialiser le pointeur.

    Je ne connais pas le contexte, d'ou est lancé la boite de dialogue.

    Si depuis CGestion_EleveDoc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CMonDlg dlg;
    dlg.m_pDocument=this;
    dlg.DoModal();
    Si depuis une CView de CGestion_EleveDoc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dlg.m_pDocument=GetDocument();
    Si depuis l'application (CWinApp):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CFrameWnd *pFrame=STATIC_DOWNCAST(CFrameWnd,AfxGetMainWnd());
    dlg.m_pDocument=STATIC_DOWNCAST(CGestion_EleveDoc,pFrame->GetActiveDocument());
    @+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Par défaut
    Merci beaucoup

    C'est cette ligne qui me manqué en fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dlg.m_pDocument=this;
    J'ai jamais été doué avec les pointeurs . Je mets le tag resolu et encore merci

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

Discussions similaires

  1. probleme variable
    Par grenatdu55 dans le forum XMLRAD
    Réponses: 1
    Dernier message: 12/05/2006, 13h30
  2. [SQL SERVER 2005] Probleme variable local
    Par nashouille dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/05/2006, 11h16
  3. Réponses: 1
    Dernier message: 20/11/2005, 17h06
  4. Problem variable (Cette ligne ne marche pas sous FF)
    Par Death83 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 08/09/2005, 17h52
  5. [LG]Problême Variable dynamique de types différents
    Par pierrOPSG dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2004, 16h01

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