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 :

Accéder à CMyProjectDoc à partir d'une autre classe


Sujet :

MFC

  1. #21
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Points : 159
    Points
    159
    Par défaut
    Impec' MERCI

  2. #22
    Membre éprouvé
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Points : 1 128
    Points
    1 128
    Par défaut
    Une troisième version

    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
     
    BOOL CMyProjectApp::InitInstance() 
    { 
    //... 
       PreProcess(); 
       return TRUE; 
    } 
     
    void CMyProjectApp::PreProcess()
    {
    	CMainFrame* pMainFrame = static_cast <CMainFrame*>(m_pMainWnd);
    	pMainFrame->Run();
    }
     
    void CMainFrame::Run()
    {
    	SetTimer(1, 2000, NULL);
    }
     
    void CMainFrame::OnTimer(UINT nIDEvent)
    {
    	CChildFrame* pChildFrame = NULL;
    	pChildFrame = static_cast<CChildFrame*>( GetActiveFrame() ); 
     
    	CMyProjectDoc* pDoc = static_cast<CMyProjectDoc*>( pChildFrame->GetActiveDocument() );
     
    	if(pDoc && pDoc->IsKindOf( RUNTIME_CLASS( CMyProjectDoc ) ) ) 
    	{ 
    		TRACE("je suis ici après 2 secondes\n");
    		// au boulot ...
    	}
     
    	KillTimer(1);         // garantit un unique appel à OnTimer
    	CMDIFrameWnd::OnTimer(nIDEvent);
    }
    Inclure les headers files
    #include "MyProjectDoc.h"
    #include "ChildFrm.h"
    dans MainFrm.cpp

    On donne juste deux secondes ou moin à l'application de terminer sa procédure d'initialisation dans InitInstance()
    Et on travaille dans CMainFrame::OnTimer qui est appelé une fois

  3. #23
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Points : 159
    Points
    159
    Par défaut
    Quelle est la subtile différence par rapport à l'autre version?

    J'ai compris un peu je crois (en me grattant frénétiquement le crâne pendant 15-20 minutes!!) :

    Le programme commencerait par InitInstance et quand le menu est créé par IniInstance, alors il appelle automatiquement la fonction liée au message d'événement WM_TIMER OnTimer() et il fait ce qu'ila à faire puis on Kill le Timer qui ne sert qu'une fois.

    : Le timer déclenché sert à occuper InitInstance pendant que la fonction OnTimer travaille, c'est ça?
    Et comme ça on est sûr (si on admet qu'on est sûr que 2 secondes est suffisant) que quand on sort d'InitInstance tout est prêt.
    :

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. accéder à variable privée d'une classe à partir d'une autre classe
    Par restapa dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 05/08/2010, 08h56
  2. Accéder aux éléments XAML à partir d'une autre classe
    Par Keitboor dans le forum Silverlight
    Réponses: 4
    Dernier message: 24/02/2009, 14h02
  3. [JUnit] [junit 4] Tests automatique à partir d'une autre classe
    Par Periph dans le forum Tests et Performance
    Réponses: 9
    Dernier message: 28/03/2007, 09h46
  4. Réponses: 10
    Dernier message: 17/11/2006, 15h20
  5. [JtextArea] Y accéder à partir d'une autre classe
    Par harris_macken dans le forum Composants
    Réponses: 16
    Dernier message: 12/06/2005, 00h27

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