Paindre en boucle

sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 - 13 janv. 2004 à 03:30
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 - 13 janv. 2004 à 09:01
salut a tous

voila, je vous expose mon probleme, j'utilise une child window dans une windows normal, et je voudrais paindre le contenu de ma child window en boucle

cette child window sert a afficher le contenu d'un viewport OpenGL

(Visual Studio et pas de MFC, 100% API Win32)

generallement, la methode employer est d'avoir un RegisterClass et un CreateWindow dans le main, puis une boucle sans fin avec tout ce qui faut pour traiter les messages, et la fonction render, le tout coupler biensure par la WindowProc qui se trouve ailleur

donc, je ne peux pas mettre de boucle sans fin dans la WindowProc de ma fenetre mere sinon ca flingue le bon deroulement du programme

je ne peux pas utiliser de thread avec une boucle sans fin dedans car ca fait merder l'affichage de la child window, je sais pas pourquoi

enfin derniere solution, et de loin la plus bourrin, dans la WindowProc de ma child window, j'ai mon message WM_PAINT, et dedans j'appel ma fonction render puis derriere je fait un UpdateWindow(hwnd_de_ma_child_window); mais le probleme c'est que ca repaint en boucle et puis au bout d'un moment ca s'arrete

je ne sais pas du tout comment m'y prendre pour resoudre ce genre de probleme, et si qqun pouvais m'apporter une lumiere, ca serais vraiment tres bien venu =)

merci d'avance a tous

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 janv. 2004 à 08:10
un thread lance dans WM_CREATE de fenetre mere, tu pourrais ainsi le mettre en pause, le relancer, etc... pas possible ?
Ce n'est qu'une idee, je n'ai jamais fait d'OpenGL.
BruNews, ciao...
0
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
13 janv. 2004 à 09:01
bah j'avoue que j'ai fait la methode bourrin, qui consiste a creer un thread sur une fonction, avec _beginthread, et c'est precisement la ou elle se trouve, dans le WM_CREATE dans ma window mere, mais pas terrible, l'affichage merde a mort
0
Rejoignez-nous