Bonjour à tous,
je vais commencer par détailler mon contexte visual C++/ MFC et ensuite vous exposez mon problème. Je vais faire mon maximum pour être claire

Je travaille sur un prototype d'application avec une fenêtre de type CWnd/OpenGL dans une architecture CWinApp / CMainFrame classique, sans SDI ou MDI (donc pas d'objet dérivé de CView).
Cette application assure également de la reconnaissance de geste (effectué avec un bras à retour d'effort) et cette reconnaissance de geste est assuré à la fréquence graphique puisqu' effectuée dans le thread graphique.

Je veux lancer l'impression de ma fenêtre CWnd/OpenGL après avoir effectué un geste précis reconnu dans mon thread graphique.
J'ai décidé pour cela d'utiliser le couple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
PostMessage(AfxGetMainWnd()->m_hWnd ,WM_PRINT_GEO,0,0)/ ON_MESSAGE(WM_PRINT_GEO,OnPrint)
avec un define de WM_PRINT_GEO à partir WM_USER.

Je veux donc depuis mon thread graphique, appeler la fonction d'impression implémenté dans le CMainFrame.

Ca "marchouille" mais j'ai des rendus bizarres d'impression, la fenêtre (ou active area de ma CWnd pour être précise) OpenGL imprimée est assez aléatoire avec parfois les dessins du geste assurant l'impression ou alors un cadre noir ou une portion d'écran noir au lieu d'être blanc......
En fait, je pense que le fait de poster un message pour le run windows depuis le thread graphique perturbe le thread graphique et j'imprime un résultat assez aléatoire.

Qu'en pensez-vous?
Puis-je procéder autrement pour lancer l'impression de ma fenêtre qu'avec un PostMessage?

En vous remerciant par avance pour vos suggestions,
bonne journée.