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 :

Acces a un control depuis une autre classe


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut Acces a un control depuis une autre classe
    Salut a tous!

    En fait c tout con...

    J'ai 2 boites de dialogue et dc 2 classes repctives.
    Mais je voudrais acceder à un control de la 1ere boite de dialogue depuis la classe correspondant a la 2e.

    J'ai implémenter la variable correspondant au ctrl avec le wizard ms il me dit qu'il ne la connait pas ds l'autre classe.
    Elle est pourtant en public puisque declarée avec le wizard...

    Merci pour vos reponse...

    @+

  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,
    ça ne fonctionne pas tout à fait comme ça tu pourras acceder aux elements du premier objet dans le 2 par pointeur interpose initialise au moment de l'execution .
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    class CDlg1: public CDialog 
    {
    public:
    	CDlg1(CWnd* pParent = NULL);	// standard constructor
            // Generated message map functions
    	//{{AFX_MSG(CDlg1)
    	virtual BOOL OnInitDialog();
    	afx_msg void OnButton1();
    	//}}AFX_MSG
    	DECLARE_MESSAGE_MAP()
    };
     
    class CDlg2: public CDialog 
    {
    public:
    	CDlg2(CWnd* pParent = NULL);	// standard constructor
            // Generated message map functions
    	//{{AFX_MSG(CDlg2)
    	virtual BOOL OnInitDialog();
            virtual void OnOK();
    	//}}AFX_MSG
    	DECLARE_MESSAGE_MAP()
    public:
     
    };
    // appel dlg1
    CDlg1 dlg;
    dlg.DoModal();
     
    void CDlg1::OnButton1() 
    {
    	// TODO: Add your control notification handler code here
    	CDlg2 dlg(this); // fournit comme parent CDlg1 par exemple 
                                    // ou alors affectation à une variable interne.
                                    // par un accesseur etc...
     
            dlg.DoModal(); 
    }
     
    void CDlg2::OnOK() 
    {
    	// TODO: Add extra validation here
           CDlg1 *pDlg=( CDlg1 *)GetParent();
           // maintenant j'ai acces à la boite de dialogue CDlg1.
     
    	CDialog::OnOK();
    }
    c'est une possiblite d'implementation .

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut
    OK merci, ca me parait qd meme bizarre.

    Car les variable implémentées avec le wizard st public dc on est sensé y avoir accès depuis ttes les classes normalement... je comprends pas pourquoi on peut pas...

    Enfin, je vais esssayer...Merci.

    @+.

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut
    a oui mais il est la le pb...
    la 2e boite de dialogue est activée obligatoirement?

    car moi en fait, ya un evenement de la 1e qui active un control de la 2e sans qu'elle soit active...c ca que je voudrais...

    Merci.
    @+.

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 223
    Points : 58
    Points
    58
    Par défaut
    resalut!

    et bien je viens d'essayer et ca marche pas...

    j'ai une erreur a la compilation car il me met: undeclared identifier qd je veux utiliser la variable...

    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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut
    si on parle de deux boites de dialogues un control est actif que si il existe graphiquement .
    en dehors de l'aspect c++ deux classes 2 objets il y a l'aspect graphique la classe dialohg represente un objet graphique dont la viabilite ansi que ces controles depend d'une initialisation (DoModal pour la dialog) en dehors de ça
    aucune de ses fonctionnalites et composants ne sera utilisable.
    pour ton erreur de compil verifies que tu disposes des headers des classes en question dans la partie .cpp.


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

Discussions similaires

  1. [Cocoa] Accès à un attribut d'AppController depuis une autre classe
    Par valleix007 dans le forum Apple
    Réponses: 8
    Dernier message: 18/08/2010, 20h50
  2. Acces à un ArrayList ou List depuis une autre classe.
    Par recluster dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 29/12/2009, 18h45
  3. Réponses: 5
    Dernier message: 18/09/2008, 17h20
  4. Réponses: 1
    Dernier message: 25/03/2008, 17h40
  5. [Débutant] Lancer procédure depuis une autre classe
    Par pugnator dans le forum Langage
    Réponses: 5
    Dernier message: 31/10/2005, 14h50

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