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):
Mon problème: rien ne s'affiche! Aucun rectangle!
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); } }
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]
Partager