Rafraichissement d'une fenetre en API windows

Résolu
poulpixx Messages postés 36 Date d'inscription dimanche 11 décembre 2005 Statut Membre Dernière intervention 17 février 2006 - 24 janv. 2006 à 23:12
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011 - 13 févr. 2006 à 22:37
salut a tous
J'aimerai savoir comment on peut faire pour demander a une fenetre de rafraichir sa zone client en API windows C++.
par exemple quand on y affiche l'heure, car moi l'heure se met a jour seulement quand je redimensionne la fenetre -_-
Merci d'avance

7 réponses

wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
13 févr. 2006 à 22:37
SetTimer et KillTimer
toute les secondes tu aura le message WM_TIMER
3
Lord_Patoche Messages postés 196 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 1 mai 2009 3
24 janv. 2006 à 23:52
Salut
Utilise InvalidateRect(hFenetre, 0, FALSE);
Attention, cette fonction va entrainer l'évènement WM_PAINT, qui devra donc contenir le code affichant ton heure.
A+

LaPatoshe
0
poulpixx Messages postés 36 Date d'inscription dimanche 11 décembre 2005 Statut Membre Dernière intervention 17 février 2006
25 janv. 2006 à 17:51
Merci à toi. Il y a de l'évolution.
mais j'ai mis InvalidateRect donc au tout debut de ma procédure de fenetre, mon code d'affichage dans case WM_PAINT, mais maintenant ma fenetre se rafraichit seulement en cas d'évenement quelconque. Moi j'aimerais qu'elle se rafraichisse tout le temps, évenement ou pas.
0
Lord_Patoche Messages postés 196 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 1 mai 2009 3
25 janv. 2006 à 22:28
InvalidateRect doit être utilisé au moment où tu veux faire apparaitre ton texte, donc une fois que ta fenêtre est affichée.
Maintenant, si tu veux que ta fenêtre se raffraichisse en permanence un peu comme on fait pour envoyer un rendu sous DirectX, places InvalidateRect dans la boucle GetMessage, mais ça va te bouffer un max de ressources.

LaPatoshe
0

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

Posez votre question
poulpixx Messages postés 36 Date d'inscription dimanche 11 décembre 2005 Statut Membre Dernière intervention 17 février 2006
26 janv. 2006 à 16:46
ah ok je vois j'ai éssayé ca marche mais il est vrai que ca bouffe toutes les ressources!
c bizarre quand meme.
0
poulpixx Messages postés 36 Date d'inscription dimanche 11 décembre 2005 Statut Membre Dernière intervention 17 février 2006
26 janv. 2006 à 16:54
en fait ce que je voudrais au final c'est que mon programme nous affiche une MessageBox à une heure demandée, mais cette MessageBox doit s'afficher meme si le programme est réduit, et qu'aucun évenement ne se produit. est-ce possible ou pas (pour ne pas que je me prenne le tete pour enfin me rendre compte que c'est impossible)
0
spiky31 Messages postés 106 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 11 février 2008
26 janv. 2006 à 17:52
Pour rafraichir ton horloge utilise un timer ca consommera beaucoup moins de ressources !!!
Par contre je m'en suis jamais servis alors consulte la doc msdn.
De plus je pense (a verifier !!) que le timer fonctionnera meme si ton prog est reduit.

voila a+
0
Rejoignez-nous