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 :

[MFC] CDC::Rectangle(CRect rect)


Sujet :

MFC

  1. #1
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    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 288
    Billets dans le blog
    2
    Par défaut [MFC] CDC::Rectangle(CRect rect)
    Bonjour à tous,

    J'ai une boite de dialogue toute simple, et je voudrais dessiner une grille dessus.
    Pour ce faire, j'aimerais utiliser la methode CDC:Rectangle, et dessiner chaque case une par une.

    Alors voici mon code (dans la fonction OnPaint() de ma dialog):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    int x,y;
    CDC dc(this);
    mrectCase = new CRect(0,0,miCaseWidth,miCasePaletteHeight);
    for (int i=0; i<iNbCols; i++)
    {
    	for (int j=0; j<miNbRows; j++)
    	{
    		x = fnCalculeX(i,j);
    		y = fnCalculeY(i,j);
    		mrectCase.MoveToXY(x,y);
    		dc.Rectangle(mrectCase);
    	}
    }
    Mon problème: rien ne s'affiche! Aucun rectangle!
    J'ai également essqyé de dessiner des rectangles pleins, en utilisant CDC::FillSolidRect(); et même sentence: rien ne s'affiche.

    De plus, je n'obtiens aucun message d'erreur et mes valeurs sont bonnes.
    Aurais-je oublié quelque chose???

    merci.

    [edit]
    IMPORTANT: mon champ dc.m_hWnd est erroné:
    - m_hWnd 0x000908a8 {unused=??? } HWND__ *
    ▒---> unused CXX0030: Erreur*: impossible d'évaluer l'expression int
    [/edit]

  2. #2
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Par défaut
    Tu ne peux pas dessiner directement sur une boîte de dialogue. Il faut que celle-ci contienne une surface (un contrôle) sur laquelle tu pourra dessiner.

  3. #3
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    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 288
    Billets dans le blog
    2
    Par défaut
    En effet.

    J'ai créé un CStatic de type bitmap, récupéré son CDC et déssiné dessus. Ca fonctionne parfaitement.


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

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/01/2008, 14h25
  2. Réponses: 10
    Dernier message: 01/09/2007, 16h12
  3. Réponses: 1
    Dernier message: 13/11/2005, 15h30
  4. [MFC] CDC: Problème d'affichage
    Par r0d dans le forum MFC
    Réponses: 2
    Dernier message: 19/08/2005, 18h31
  5. [MFC]Ecrire du texte dans un rectangle
    Par zaz16 dans le forum MFC
    Réponses: 8
    Dernier message: 29/07/2003, 10h31

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