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

Visual C++ Discussion :

Dessiner dans un CPicture avec VC6


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5
    Par défaut Dessiner dans un CPicture avec VC6
    Bonjour,

    Dans le but de mon thème informatique, je dois placer un nombre indéfinie de zone sensible sur une image de fond.

    Étant donné que je ne sais pas créer par programmation des contrôles, j'ai opter sur la méthode de dessin, donc au final j'ai un magnifique CPicture, auquel je dessine des sorte de bouton (pour le moment juste des gros rectangle), jusque là j'ai reussi en me torturant l'esprit à faire quelque chose de potable.

    Mon gros soucis, c'est qu'il suffit que la fenetre soit deplacer hors des limites de l'écran, réctrecie ou encore qu'une autre fenêtre passe par dessus pour effacer tous mes dessins.

    J'ai cherchais despéraiment une méthode qui serai appelé lorsque l'on reprend le focus de la fenetre, mais je la trouve pas, ou mieu encore une méthode qui serai appellé pour repeindre la fenetre !

    Si quelqu'un à ma méthode miracle quelque part, je suis prenneur car pour le moment, j'ai mis un bouton "raffraichir", mais voila, allez expliquer aux utilisateurs que les "images" sont là mais quelles se cahce faut cliquer sur le petit bouton pour les voirs

    Merci d'avance
    Cordialement
    Division-par-zero

  2. #2
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Salut,

    Place tout ton code de dession dans la méthode OnDraw(CDC* pDC) de ta classe vue. (J'imagine que tu fais de l' MFC)

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5
    Par défaut
    Oui je fais du MFC, dsl j'ai toujours fais que ca avec VC++ donc pas pensé à préciser ...


    Merci pour la réponse mais j'aimerais bien mettre mon code dans OnDraw(PDC * pdc), seulement cette fonction n'existe pas, j'ai bien essayé de la mettre manuelement mais que dalle, d'après ce que j'ai pus en conclure en parcourant depuis avant hier ce forum, c'est que la methode OnDraw, existe sur VC++ 2005.

    toujours si j'ai bien compris la fontion à peu pret similaire est OnPaint() dans mon cas, j'ai pus constater en remettant mon code de dessin dans OnPaint() qu'il reactulaisais l'image, mais le fonctionnement est assez bizard (tellment que quand j'avais essayer hier, je n'avais rien vu).

    De plus j'ai lus que dans le OnPaint() vaut mieux éviter de mettre n'importe quoi quand on sait pas trop ce qu'on y fait (je confirme )

    J'ai peut-être loupé une étape pour avoir le OnDraw() !!


  4. #4
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    OnDraw existe bel et bien.
    C'est quelle classe vue que tu as?

    Si OnDraw n'est pas là alors utilise classwizard pour t'ajouter cette méthode virtuelle. Mais je ne me rappelle plus bien avec classwizard.
    Ou alors ajoute cette méthode manuellement c'est plus sûr.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public:
           virtual void OnDraw(CDC* pDC);

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5
    Par défaut
    Le problème réside en faite dans le fait que je ne connait pas les classes vue :p (oui VC++ je l'utilise que pour les cours, et j'ai pas trop eu le choix pour mon theme, sinon j'aurais fais ça en Windev -- AGL qui simplifie, meme un peut trop :p --

    Donc si ta un peu de temp pour me dire comment faire, ce serais super sympa, ca devient hors sujet par contre -__-) :

    Je créer une nouvelle classe :
    • Classe type : MFC Class
    • Name : <n'importe quoi>
    • Base class : ?
    • Dialog ID : ? (si besoin)
    • Automation : ? (si besoin)

    Ou je suis à coté de la plaque ?!

    Dans tous les cas je commence à chercher sur ce point, merci !


  6. #6
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Regarde, il y a des tutos sur comment démarrer avec MFC sur le site. Tu as aussi la FAQ. Je te conseille de lire un peu.

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

Discussions similaires

  1. [Virtual Pascal] Dessiner dans une fenêtre avec la librairie OWL
    Par Roland Chastain dans le forum Autres IDE
    Réponses: 15
    Dernier message: 31/08/2012, 19h15
  2. Réponses: 0
    Dernier message: 18/03/2012, 15h33
  3. [Débutant] dessiner un retangle dans mon image avec un certain orientation.
    Par slaima15 dans le forum MATLAB
    Réponses: 4
    Dernier message: 22/07/2011, 15h06
  4. affichage de dessin dans jpanel avec BorderLayout
    Par ilias20 dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 26/03/2010, 12h55
  5. problème de dessin dans une JApplet avec GridBagLayout
    Par esperal dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 26/05/2008, 09h46

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