Supprimer un rectangle déssiné

Signaler
Messages postés
406
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
29 juin 2009
-
Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
-
Bonjour à tous ,
 voici mon pb : en fait je dessine un rectangle avec
Rectangle( hdc, rectMove.left, rectMove.top, rectMove.right, rectMove.bottom );
si mon bool deplace est à vrai
Mais lorsque bool est à faux je ne déssine pas ce rectangle.... mais comment faire pour supprimer ce rectangle qui a été déssiner précédement.
En fait si je ne supprime pas ce rectangle pour la suite de mon programme je plante.

merci de votre aide
lafolle

2 réponses

Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut:

Supprimer un rectangle revient à le dessiner avec le la même couleur du fond de la fenêtre.

Donc tu dois changer la couleur du "HPEN" de ton "HDC":
Je suppose que le fond de ta fenêtre est blanc.

HPEN hErasePen = createPen (PS_SOLID, 1, RGB (0xFF, 0xFF, OxFF));
HPEN hColorPen = (HPEN)hdc.SelectObject (hErasePen);

// Tu dessines ton rectangle
// ...

// Tu récupère ton "HPEN" coloré
hdc.SelectObject (hColorPen);

Je ne comprends pas pourquoi ton programme se plante à cause d'un simple rectangle dessiné?
Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
8
vois aussi du côté de la fonction SetROP2 avec un certain paramétrage tu peux effacer le rectangle sans te souscier de la couleur de fond.

louis14