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 :

Dessiner dans une CFormView sans OnPaint


Sujet :

MFC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 31
    Points : 20
    Points
    20
    Par défaut Dessiner dans une CFormView sans OnPaint
    Bonjour,
    j'ai un petit soucis
    j'utilise MS VISUAL C++ 2005 et je code actuellement un logiciel pour tracer des escaliers.
    tout ce passait bien quand j'avais une boite de dialogue
    mais je suis passé en type formulaire (CFormView)
    je voudrais dessiner (tracer des traits dans ce formview)
    et si possible sans enrichir onpaint (c'est à dire, quand je clique un bouton, il trace un trait)
    je pense que c'est comme ceci:
    onclickbutton()
    {
    CDC *pDC = new CDC;
    pDC-LineTo(x,y);
    }
    cela créé un pointeur, mais dans mon debug, il me dit qu'il n'est pas initialisé
    merci d'avance .

  2. #2
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 266
    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 266
    Points : 6 688
    Points
    6 688
    Billets dans le blog
    2
    Par défaut
    Le DC (Device Context) ne se créé pas ainsi. Il se récupère via la méthode CWnd::GetDC()

    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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    il faut utiliser la surface d'un controle ,
    voir cet exemple :
    http://farscape.developpez.com/Samples/TestGraph.zip

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    merci à vous deux,
    en fait j'ai réussi à faire ce que je voulais, meme si ce n'est pas trop propre:
    void boutonclick()
    {
    CDC *pDC = new CDC;
    pDC = CWnd::GetDC();
    [...]
    }

  5. #5
    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
    en cas de repaint de ta fenetre (recouvrement), : plus de dessin ....

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    oui mais avec ta classe aussi
    execute testgraph, clic sur le dessin, déplace la fenetre jusqu'a ce que le cercle soit à moitié caché, et replace la fenetre, tu verras le cercle a moitié vide

  7. #7
    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
    Citation Envoyé par nitteo
    oui mais avec ta classe aussi
    execute testgraph, clic sur le dessin, déplace la fenetre jusqu'a ce que le cercle soit à moitié caché, et replace la fenetre, tu verras le cercle a moitié vide
    Hum bizarre,
    Je viens de faire l'essai ça fonctionne très bien ...
    Met la fenêtre sur l'écran
    Prend l'explorateur Windows (un peu réduit) et déplace le sur le programme tu verras que le contrôle se redessine sans pb , ce qui est la base du fonctionnement des contrôles Windows...
    Par contre je n'ai pas géré le fond de dessin, mais le dessin lui doit se former quelque soit le recouvrement...

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

Discussions similaires

  1. [VB6] [Excel] Feuille dans une form, sans excel installé
    Par ro2v dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 05/05/2010, 12h45
  2. [MFC] Dessin dans une boite de dialogue .
    Par Platypus dans le forum MFC
    Réponses: 8
    Dernier message: 21/07/2005, 11h21
  3. [debutant]dessins dans une fenetre
    Par drosophile dans le forum 2D
    Réponses: 4
    Dernier message: 04/11/2004, 14h55
  4. Inserer des elements dans une map sans rangement ?
    Par Muetdhiver dans le forum C++
    Réponses: 3
    Dernier message: 07/09/2004, 11h09
  5. [MFC] CPropertySheet dans une CFormView ???
    Par Lofwyr dans le forum MFC
    Réponses: 2
    Dernier message: 30/07/2003, 16h49

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