Rafraichissement d'une fenetre en API windows

Résolu
Signaler
Messages postés
36
Date d'inscription
dimanche 11 décembre 2005
Statut
Membre
Dernière intervention
17 février 2006
-
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011
-
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

Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

SetTimer et KillTimer
toute les secondes tu aura le message WM_TIMER
Messages postés
196
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
1 mai 2009
2
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
Messages postés
36
Date d'inscription
dimanche 11 décembre 2005
Statut
Membre
Dernière intervention
17 février 2006

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.
Messages postés
196
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
1 mai 2009
2
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
Messages postés
36
Date d'inscription
dimanche 11 décembre 2005
Statut
Membre
Dernière intervention
17 février 2006

ah ok je vois j'ai éssayé ca marche mais il est vrai que ca bouffe toutes les ressources!
c bizarre quand meme.
Messages postés
36
Date d'inscription
dimanche 11 décembre 2005
Statut
Membre
Dernière intervention
17 février 2006

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)
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008

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+