MFC : Textures & Faire un Updatedata local

Artiste_Gunm Messages postés 33 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 22 juillet 2008 - 29 mars 2005 à 11:54
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 30 mars 2005 à 12:13
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

magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
29 mars 2005 à 14:41
envoi sur ton controle le msg d'invalidation



c_lHeure.Invalidate();



ou



c_lHeure.UpdateData(FALSE);



Magicalement

Nono.
0
Artiste_Gunm Messages postés 33 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 22 juillet 2008
30 mars 2005 à 08:36
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
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
30 mars 2005 à 09:04
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.
0
Artiste_Gunm Messages postés 33 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 22 juillet 2008
30 mars 2005 à 09:47
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
30 mars 2005 à 12:13
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.
0
Rejoignez-nous