Effacer une image sur un contrôle static [Résolu]

Signaler
Messages postés
96
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
26 juillet 2007
-
Messages postés
96
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
26 juillet 2007
-
Bonjour tout le monde,

J'aimerais effacer une image affecté à un contrôle static.
J'arrive à l'affecter sans problème mais impossible de l'effacer.

Bizarrement, ça fonctionne avec une icone mais pas avec un bitmap.

J'ai codé un exemple compilable en C ou C++ depuis n'importe quel compilateur (sinon, le projet de l'IDE Code::Blocks est disponible dans les sources)

J'ai plusieurs questions concernant cette petite source :
1./ Comment faire pour effacer le contenu de mon static simplement ?
2./ Pourquoi l'affectation de l'icone à mon static ne fonctionne que si je mets STM_SETIMAGE au lieu de STM_SETICON
3./ Cette question n'a rien à voir avec la question d'origine mais pourquoi lorsque je compile mon executable, l'icone qui se trouve dans les ressources est automatiquement associé à mon executable ?

Vous trouverez les sources de mon exemple ici:
http://www.mytempdir.com/1326668

Merci d'avance pour vos réponses et bonne journée.

1 réponse

Messages postés
96
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
26 juillet 2007

Ok, réponse trouvée.

Pour ceux qui serait confronté au même problème que moi, il suffit en faite de faire ceci :

RECT rc;


// on récupère la zone écran du controle


GetWindowRect(g_IDC_Bmp, &rc);


// on convertit en coordonnées clientes par rapport à la boite de dialogue !


ScreenToClient(hDlg, (POINT*) &rc);


// on invalide la zone définie (juste le controle) dans la boite de dialogue (on force le refresh)


InvalidateRect(hDlg, &rc, TRUE);

Et hop, le contrôle est effacé