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 :

Graphismes avec Visual C++


Sujet :

MFC

  1. #1
    Nouveau membre du Club
    Inscrit en
    Ao�t 2005
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 8
    Par d�faut Graphismes avec Visual C++
    Bonjour,
    Est-ce que quelqu'un a un exemple le plus simple possible, mais compl�tement complet, permettant de se retrouver en mode graphique et de tracer un segment � l'�cran du point A(100,100) au point B(200,200) par exemple.
    (je cherche � faire des trac�s tout simplement comme je pouvais le faire en TP6 ou en C++ tout simplement)
    Alors, on pouvais basculer en mode graphique puis dessiner dans un rep�re sans probl�me.
    merci, si quelqu'un peut m'aider...

  2. #2
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 295
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 295
    Billets dans le blog
    2
    Par d�faut
    Bonjour,

    sur une projet bas� sur une boite de dialogue, tu cr�� un CStatic de type bitmap, et tu pourra dessiner dessus en r�cup�rant son CDC:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    CDC* dc = MonStatic.GetDC();
    dc->MoveTo(x1, y1); //premier point
    dc->LineTo(x2, y2); //deuxième point
    hope it helps

  3. #3
    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

  4. #4
    Nouveau membre du Club
    Inscrit en
    Ao�t 2005
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 8
    Par d�faut
    OK, merci bien � vous deux.
    Je vais essayer d�s ce Week-end (avant j'ai de solides journ�es arghhh)
    Je vous tiens au courant si je m'en sors (j'esp�re) ou non...

  5. #5
    Nouveau membre du Club
    Inscrit en
    Ao�t 2005
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 8
    Par d�faut
    [rOD] Tout d'abord l'analyse de ta r�ponse, car je ne vais pas tr�s vite, vu que �a va faire 4 ans que je n'ai pas boss� les MFC avec VC++.
    (j'ai pas mal fais de VC++ au boulot, mais je ne faisait rien de graphique et cela avait le formatage routinier du travail)

    j'ai tap� �a apr�s avoir choisi un projet MFC AppWizzard (EXE) dans la fonction onDraw de ma classe CTestfengraphView :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void CTestfengraphView::OnDraw(CDC* pDC)
    {
    	CTestfengraphDoc* pDoc = GetDocument();
    	ASSERT_VALID(pDoc);
    	// TODO: add draw code for native data here
     
    	pDC->MoveTo(100, 100); //premier point 
    	pDC->LineTo(150, 200); //deuxième point 
    }
    �a marche au poil, et je vois maintenant comment je vais pouvoir faire du graphisme.

    Une chose quand m�me, j'ai l'impression en lisant ton code que je suis pass� � c�t� de quelque chose et que l'on n'est pas oblig� de ce servir de AppWizzard pour faire g�n�rer tout ce code.
    (Tu avais juste d�fini un bitmap � la main peut-�tre ?)
    Est-ce que tu accepterais de m'envoyer un exple de projet avec le minimum de code possible pour faire une ligne avec MoveTo ?

    je vais regarder la 2�me r�ponse...

  6. #6
    Nouveau membre du Club
    Inscrit en
    Ao�t 2005
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 8
    Par d�faut
    OK, farscape, et merci encore.
    Pour toi aussi, pour clore le sujet, j'ai pig� comment faire pour lancer du graphisme sur une fen�tre.
    Mais peux-tu m'indiquer comment faire au minimum (le plus court chemin) pour en arriver � �crire cette fonction CGraphique ?
    En gros est-il possible d'avoir un exple de projet vide cr�� par VC++, puis comment enlever tous le code parasite au dessin dans une fen�tre, puis les �tapes pour arriver � ton exemple ?

  7. #7
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 295
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 295
    Billets dans le blog
    2
    Par d�faut
    Citation Envoy� par altobar
    Est-ce que tu accepterais de m'envoyer un exple de projet avec le minimum de code possible pour faire une ligne avec MoveTo ?
    Bah, le mieux serait que de cr�er un projet toi-m�me:
    1/Dans visual->nouveau projet
    - Application MFC
    - Bas� sur une boite de dialogue
    2/ Editeur de ressource, dans l'onglet "outils", tu choisi "Image"
    3/ propri�t�s de ton image:
    - type: bitmap
    4/ bouton de droite sur ton image -> ajouter une variable (on va l'appeler mcsImage pour l'exemple).
    5/ dimensions: c'est toi qui voit (soit � la souris dans l'�diteur de ressources, soit en utilisant la fonction mcsImage->MoveWindow)
    6/ tu cr�� une variable membre (que je nommerais mpImageDC pour l'exemple) de type CDC*: [CDC* mpImageDC;]
    7/ maintenant c'est le code que j'ai mis au d�but:
    dans ton OnInitDialog, tu r�cup�re le dc de ton image:
    mpImageDC = mcsImage->GetDC();
    8/ Il ne te reste plus qu'� mettre tes fonctions de dessin dans le OnPaint() (cf msdn, recherche sur CDC)

    Hope it helps.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Ao�t 2005
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 8
    Par d�faut
    C'est exactement ce que je souhaitais.
    je bloque encore (argh, j'esp�re que je gonfle pas trop...)
    peux tu me corriger mon projet ? (c'est chiant au d�but on a une intuition zero...)
    [je crois que je n'arrive pas � effectuer correctement le 4); j'ai Microsoft visual Studio avec Visual C++ 6.0]
    merci d'avance...

    mon projet :
    http://jpaul.rauzet.free.fr/VCPP/rod1.zip

  9. #9
    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 ,
    vu que tu as l'air de debuter ,tu devrais regarder le tuto sur les mfc
    http://farscape.developpez.com/tutor...arrer-mfc-vc6/

  10. #10
    Nouveau membre du Club
    Inscrit en
    Ao�t 2005
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 8
    Par d�faut
    OK, merci du conseil.
    Je vais y aller de ce pas car je d�bute vraiment sur les MFC.
    (En fait comme souvent au boulot on nous parle d'environnement C++ et fait beaucoup de C tout court, le reste �tant de la prog par analogie.)
    Si quelqu'un peut quand m�me appliquer les conseils de roD sur le projet que j'ai tent� de compiler comme il me le disait...
    [en fait, je pense que je n'ai pas tout fait comme indiqu�...]
    merci beaucoup.

  11. #11
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 295
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 295
    Billets dans le blog
    2
    Par d�faut
    Citation Envoy� par altobar
    C'est exactement ce que je souhaitais.
    je bloque encore (argh, j'esp�re que je gonfle pas trop...)
    peux tu me corriger mon projet ? (c'est chiant au d�but on a une intuition zero...)
    [je crois que je n'arrive pas � effectuer correctement le 4); j'ai Microsoft visual Studio avec Visual C++ 6.0]
    merci d'avance...

    mon projet :
    http://jpaul.rauzet.free.fr/VCPP/rod1.zip
    AH, tu utilises visual6. Je crois que je ne pourrais pas t'aider plus, car je ne l'ai aps utilis� depuis longtemps, et je ne me souviens plus du tout.

    Mais en effet, le 4) que je t'ai donn� est faux du coup. Essaie un truc du genre: ctrl+w dans l'�diteur de ressource (�a ouvre le class wizzard si je me souviens bien, et je crois qu'il faut que ton controle soit s�lectionn� quand tu fais ctrl+w). Une fois dans le class wizzard, il doit y avoir moyen de moyenner facilement.

    Sinon, le mieux est tout de m�me de faire un tuto

    Hope it helps.

  12. #12
    Nouveau membre du Club
    Inscrit en
    Ao�t 2005
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 8
    Par d�faut
    Pareil pour les fautes d'orthographe !

    Bon, OK, merci, j'attendais ta r�ponse pour m'y remettre.
    Verdict :
    1) je vais bosser le tuto pour me remettre au VC++, et pour approfondir les MFC.
    2) je vais r�-essayer de "moyenner" s'il y a moyen
    3) je vais essayer d'utiliser Visual Studio .NET version B�ta qui est en t�l�chargement gratuit sur Microsoft (Est-ce que c'est une bonne chose ?)
    (c'est �a que tu utilises rOd ?
    4)On verra apr�s le tuto, si on peut cl�re le sujet...
    5)Encore merci � tous.

  13. #13
    Nouveau membre du Club
    Inscrit en
    Ao�t 2005
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 8
    Par d�faut
    J'en suis � la page 27 de la doc sur les MFC. Je dois dire qu'elle est hyper ien faite. Je m'y plonge d�s que j'en ai l'occasion en dehors du boulot.

  14. #14
    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

Discussions similaires

  1. graphisme avec visual
    Par zieg18 dans le forum MFC
    R�ponses: 5
    Dernier message: 14/07/2006, 23h03
  2. Probleme d'utilisation de directX 9 avec visual studio.net
    Par cranedoeuf dans le forum DirectX
    R�ponses: 1
    Dernier message: 24/05/2004, 04h33
  3. R�ponses: 3
    Dernier message: 07/04/2004, 12h44
  4. R�ponses: 12
    Dernier message: 02/02/2004, 13h41
  5. Comment attaquer Mysql avec Visual C++
    Par brisou_ dans le forum Administration
    R�ponses: 4
    Dernier message: 11/03/2003, 13h12

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