-
vider un Canvas
Bonjour tout le monde:
Voici mon probl�me. J'utilise un canvas, pour repr�senter un organigramme...
J'ai cr�� des fonctions pour zoomer sur l'organigramme et d�placer des "blocs".
Ce sont les traits reliant les blocs quis sont dessin�s � l'aide du Canvas.
Je redessine donc les liaisons entre mes blocs lors que je zoom ou d�place un bloc. Le prbm c'est que les anciens traits ne sont pas effac�s et que du coup mon sh�ma et tout pas bo :( .
Je voudrais savoir si il existe un moyen de faire un flush ou un empty sur un canva afin qu'il redevienne vierge.
Par ailleurs, si il y a une m�thode plus propre ou plus facile pour dessiner des traits entre des �l�ments d'un organigramme, je suis preneur aussi.
Merci pour votre aide
-
Salut,
Pour information, tu travailles sur le Canvenas de quel composant?
Un Timage, TBitmap ... ?
Merci
-
Une m�thode parmis d'autres :
Canvas->FillRect(Canvas->ClipRect);
apr�s avoir pris soin d'initialiser le brush avec la couleur de fond souhait�e par ex. :
Canvas->Brush->Color=(TColor)RGB(255,255,255);
-
ca marche, sauf que le Canvas n'est pas � proprement parl� "vide", il est de couleur uni, tout d�pend de ce que veut traiangueul.
-
En fait c'est un TControlCanvas auquel j'ai associ� un TPanel.
Je pense avoir reussi � obtenir l'effet souhait� en appelant la m�thode PaintTo de ce panel dans le Canvas que je me suis cr�� lors d'un zoom ou d'un d�placement. Cela a pour effet de redessiner le Panel dans le canvas ce qui (visuelement en tous cas) vide mon affichage. Ensuite j'ai plus qu'a redessiner ce qui m'interresse.
C'est peut etre pas la m�thode la plus propre mais ca a l'air de fonctionner...:mouarf:
En tous cas ca me va pour l'instant...
Merci pour vos r�ponses...;)