MFC : Textures & Faire un Updatedata local

Signaler
Messages postés
33
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
22 juillet 2008
-
magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
-
J'ai un petit souci pour appliquer une texture bitmap à un bouton sous MFC.

Je souhaiterais savoir si quelqu'un connait un moyen pour rafraichir l'heure sans rafraichir toute la fenêtre.

Pour l'instant j'utilise :
SetTimer(ID_TIMER,1000,NULL);
//Récupère l'heure courante
CTime curTime=CTime::GetCurrentTime();
//Affiche l'heure courante
TEXT_HEURE.Format("%d:%d:%d",curTime.GetHour(),
curTime.GetMinute(),
curTime.GetSecond());
// Met à jour la fenêtre de dialogue
UpdateData(FALSE);

The Artiste-Gunm

5 réponses

Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
envoi sur ton controle le msg d'invalidation



c_lHeure.Invalidate();



ou



c_lHeure.UpdateData(FALSE);



Magicalement

Nono.
Messages postés
33
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
22 juillet 2008

Merci mais je ne vois très bien à quoi correspond c_lheure ?!?
J'ai rajouté :

//Récupère l'heure courante
CTime curTime=CTime::GetCurrentTime();
//Affiche l'heure courante
TEXT_HEURE.Format("%d:%d:%d",curTime.GetHour(),
curTime.GetMinute(),
curTime.GetSecond());
// Met à jour la fenêtre de dialogue
LPTSTR clock=TEXT_HEURE.GetBuffer(200);
clock.UpdateData(FALSE); - ICI -->error C2228: left of '.UpdateData' must have class/struct/union type

The Artiste-Gunm
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
ton clock est une chaine or UpdateData s'utilise sur les objets dérivant de CWnd



associe à ton heure un controle

(tu peux utiliser le classwizard de visual, 2e onglet)



et envoi le message sur ce controle comme spécifié plus haut.



++

Nono.
Messages postés
33
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
22 juillet 2008

J'ai bien suivi tes conseils mais maintenant je n'ai plus du tout d'affichage de l'heure ....
//Récupère l'heure courante
CTime curTime=CTime::GetCurrentTime();
//Affiche l'heure courante
TEXT_HEURE.Format("%d:%d:%d",curTime.GetHour(),
curTime.GetMinute(),
curTime.GetSecond());
// Met à jour la fenêtre de dialogue
m_Clock.Invalidate(); //m_Clock étant bien sûr un control de type Cstatic

J'ai bien entendu essayé avec :
m_Clock.UpdateData(FALSE);
mais en vain...

The Artiste-Gunm
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
curieux, je ferai le test



une astuce serai de spécifier un rectangle à réactualiser à la fenetre

avec

InvalidateRect(...)



essaie,

là je suis totalement sur autre chose (PDA), mais, je testerai ton truc, ça a l'air curieux



Bonne prog

Nono.