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

DirectX Discussion :

directX et MFC


Sujet :

DirectX

  1. #1
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut directX et MFC
    Bonjour
    Je voudrais savoir comment faire une boucle pour gerer les messages dans une MFC. car en ce moment je fait mon render dans la fonction onDraw et donc j'affiche ma fenetre directX une seule fois.
    merci

    Sylvain

  2. #2
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 38
    Points : 27
    Points
    27
    Par défaut
    salut sylvain !
    As-tu été voir le lien que j'ai posté en réponse à ton dernier topic sur directX et MFC ? Au cas ou je te le redonne : http://www.gamedev.net/reference/art...rticle1778.asp
    Normalement ca suffit...

  3. #3
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut
    oui je suis allé le voir mais je n'ai vu nulle part un truc qui ressemblait a une boucle de message et je n'ai pas fait exactement pareil pour initialiser directX.
    dans ton code tu n'as pas un truc qui ressemble a ça :

    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
     
    	MSG msg;
    	ShowWindow( hWnd, SW_SHOWDEFAULT );
        UpdateWindow( hWnd );
     
    	ZeroMemory( &msg, sizeof(msg) );
        while( msg.message!=WM_QUIT ) 
    	{
    		if( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) ) 
    		{
    			TranslateMessage( &msg );
                DispatchMessage( &msg );
            } 
    		else
    		{
    			Render();
    		}
    	}
    merci

    Sylvain

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 38
    Points : 27
    Points
    27
    Par défaut
    non c'est la MFC qui gère les messages...
    toi tu doit rendre invalide ta fenetre (pour la redessiner) dans la methode onIdle de la classe winapp (donc à creer avec le classwizard). Il faudra aussi que tu désactive le redessinement traditionnel de la fenetre au profit du redessinnement fait par directX ...
    en gros ca donne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    BOOL CMaverApp::OnIdle(LONG lCount) 
    {
    	// TODO: Add your specialized code here and/or call the base class
     
    	CWinApp::OnIdle(lCount);
     
    	AfxGetMainWnd()->Invalidate(false); 
     
    	return TRUE;
    }
    voila c tout...
    @+

  5. #5
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut
    en ajoutant le code ci dessus j'ai une sorte de tremblement de l'image (l'image saute).

    qu'est ce que tu veux dire avec ça :
    faudra aussi que tu désactive le redessinement traditionnel de la fenetre au profit du redessinnement fait par directX ...
    Sylvain

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 26
    Points : 17
    Points
    17

  7. #7
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut
    Oui ca y est ça marche!
    merci a vous
    Sylvain

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

Discussions similaires

  1. [MFC] DirectX, Controle dans CFormView
    Par Astraya dans le forum Visual C++
    Réponses: 1
    Dernier message: 03/04/2008, 15h21
  2. directX avec MFC
    Par sylvain_bos dans le forum DirectX
    Réponses: 3
    Dernier message: 12/07/2004, 16h12
  3. Réponses: 8
    Dernier message: 14/06/2004, 10h03
  4. fenetre directX dans mfc
    Par tibyann dans le forum DirectX
    Réponses: 1
    Dernier message: 31/05/2004, 12h09
  5. Probleme de compatibilité MFC directX 9
    Par Hankmoon dans le forum DirectX
    Réponses: 3
    Dernier message: 08/04/2004, 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