Chers tous,
j'ai un formulaire comprenant plusieurs TPanel (align�s sur alClient).
Un de ces tpanel (nomm� PanCompare) comprend un autre TPanel (alTop) et un TPaintBox(align� sur alClient, nomm� Painting).
Je mets ce panel en avant-plan dans le formulaire puis et je voudrais "dessiner" sur le canvas du TPaintBox, sur base du contenu d'un TList:
dans le .h, section protected, il y a:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 void __fastcall TForm1::Button1Click(TSender *Sender) { PanCompare->BringToFront(); Draw(); } void __fastcall TForm1 :: Draw() { int i; CWayAssistantObjectToDraw *r; Painting->Invalidate(); for (i=0; i<m_lControls->Count; i++) { r=(CWayAssistantObjectToDraw *)m_lControls->Items[i]; r->Draw(Painting->Canvas); } }
Malheureusement:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 TList *m_lControls; class CWayAssistantObjectToDraw { public: TPoint x,y; AnsiString sText; char cType; TColor Color; void Draw(TCanvas *c) { if (cType=='L') // trace une ligne { c->Pen->Color=Color; c->MoveTo(x.x, x.y); c->LineTo(y.x, y.y); } else // écrit un texte { c->Font->Color=Color; c->TextOut(x.x,x.y, sText); } } }; *********************************************
En mode debug, je vois qu'il fait
et aussi
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 c->Pen->Color=cbBlack; c->MoveTo(10, 30); c->LineTo(100, 150);
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 c->Font->Color=clRed; c->TextOut(10,10, "line 1");
Mais RIEN n'est dessin� sur mon TPaintBox....
Quelqu'un peut me dire pourquoi?
Merci,
Alain
Partager