j'affiche sur un dialogue un bitmap a l'endroit ou je veux a l'aide du clic gauche de la souris, le pb est que je voudrais pouvoir supprimer (ne plus afficher ou masquer ...) ce bitmap à l'aide du bouton droit !!!!!
NB : j'ai une image de fond dans mon dialogue , donc je ne peux pas redessiner un bitmap de la couleur du fond pour simuler l'effacement.
et le pb n'est pas le gestion des clics mais bien de masquer mon bitmap.
Tu affiches comment ce bitmap ? Dans WM_PAINT ou WM_LBUTTONDOWN ? Si c'est dans WM_LBUTTONDOWN, c'est pas bien, car lorsque tu feras passer une fenetre dessus ou lorsqu'elle perdra le focus, le bitmap ne sera plus la car la fenetre sera redessinée sans ton bitmap. Donc : si c'est le cas et si c'est que tu veux, tu n'as qu'a faire un InvalidateRect() lors de la reception de WM_RBUTTONDOWN. Si tu affiches dans WM_PAINT par contre, tu n'as qu'a faire un simple test avec un booleen par exemple :
...
case WM_RBUTTONDOWN:
flag = 1;
InvalidateRect(..);
break;
...
case WM_PAINT:
if (!flag) BitBlt(...);
...
exact j'avais pas fais gaffe à ca,
j'affiche dans WM_LBUTTONDOWN
ps: j'utilise les MFC, tu as une methode pour ca ?
a part cela je dois jongler avec le 8ieme parametre de pDC->BitBlt pour tantot afficher , tantot masquer mon bitmap (je tatonne mais c'est pas parfait)
j'affiche avec SRCAND et j'efface avec .... je tatonne