ArnaudEIC
Messages postés13Date d'inscriptionmercredi 28 février 2007StatutMembreDernière intervention17 septembre 2007
-
8 août 2007 à 14:52
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 2016
-
12 août 2007 à 23:32
Bonjour,
j'ai un picturebox dans lequel je souhaite que l'on puisse faire une
zone de sélection. Pour dessiner la zone de sélection je fais
simplement un "DrawRectangle" avec un "pen" dont je précise dans le
style que c'est en pointillé.
Le problème c'est que j'aimerai que la couleur change en fonction de
l'image qu'il y a en arrière-plan. Comme dans Paint par exemple, les
pointillés passent de noir à gris à blanc selon la couleur qu'il y a
derrière, pour que cela sois toujours bien visible.
ArnaudEIC
Messages postés13Date d'inscriptionmercredi 28 février 2007StatutMembreDernière intervention17 septembre 2007 8 août 2007 à 16:07
Salut,
J'avais effectivement trouvé un exemple qui utilisai cette fonction dans le lien suivant Après j'utilise peut être mal la fonction mais si je l'utilise sur le MouseMove, la zone de sélection que je dessine disparai dès que qu'une autre fenêtre ou appli se met devant, et si je l'utilise sur le Paint c'est pareil mais en plus de cela ça cligonte.
Quand j'utilise le DrawRectangle cela dessine directement sur le graphics donc je me dis que c'est pour ça que dans ce cas la le rectangle reste..
ArnaudEIC
Messages postés13Date d'inscriptionmercredi 28 février 2007StatutMembreDernière intervention17 septembre 2007 9 août 2007 à 16:00
Tout d'abord merci beaucoup pour ta réponse !
Ensuite, j'ai recopié ton exemple ( j'avais fais a peu près le même en fait ) et il a les même sympthome que mon exemple.
C'est a dire que si je bouge ma fenêtre ou si je met une autre fenêtre devant et fais réapparaitre ma fenêtre, ma zone de sélection n'est plus affichée.
Il y a peut être quelque chose que je fais mal mais sur mon poste cela fais ça.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 10 août 2007 à 03:35
Oui exact.. comme tu le sais surement les dessins de GDI+ ( System.Drawing ) ne sont pas persistants, il faut dessiner dans l'évènemment Paint ( OnPaint ) pour que les dessins soient re-dessiner à chaque fois que c'est nécessaire.. Mais malgré ça, là y'a un effet de bord assez génant avec la fonction DrawReversibleFrame, le code devient vite inutilement compliqué juste pour une petite selection, ( j'ai pas insité, dsl ) Finalement dessiner directement un rectangle en pointillé dans le OnPaint de la PictureBox c'était peut être pas si mal. : ) Si ça clignotte, utilise un double buffer.
ArnaudEIC
Messages postés13Date d'inscriptionmercredi 28 février 2007StatutMembreDernière intervention17 septembre 2007 10 août 2007 à 14:19
merci de ta réponse, surtout vu l'heure a laquel tu l'a écrite
J'avais effectivement compris pourquoi le dessins ne persistai pas.
C'est vrais que j'espérai trouver quelque chose au niveau du PEN ou du BRUSH et utiliser le drawrectangle tout simplement, mais apparement il n'y a rien.
Qu'entend tu par doucle buffer pour éviter le clignotement ?