[MFC] Creation d'un thread pour un popup d'attente
Ce soir,
j'essai de faire un thread pour afficher un CDialog avec une animation du temps que j'effectue mon long download / calcul,
j'avais penser faire un thread qui lance un CDialog qui gere tout seul l'affichage de l'animation,
j'ai tenté ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
CWinThread *p_threadAnim = AfxBeginThread (threadAnimDialog, this);
Sleep(5000);
p_threadAnim->PostThreadMessage(WM_END_THREAD, NULL, NULL);
// Thread qui affiche la fenetre d'animation
UINT threadAnimDialog (LPVOID pParam)
{
MSG msg;
DlAnimAttente *DAnimAttente = new DlAnimAttente(NULL);
DAnimAttente->Create(IDD_DlAnimAttente);
DAnimAttente->ShowWindow(SW_SHOW);
do
{
PeekMessage(&msg, NULL, 0, 0, PM_REMOVE);
}while (msg.message != WM_END_THREAD);
delete DAnimAttente;
return 0;
} |
Seulement voila, la fiche ne se lance pas par contre si j'enleve à l'appel le Sleep et l'envoi du message d'arret au thread, la CDialog se lance mais aucun de ses composants n'apparait
c'est trop bizarre ....
que me conseillez vous pour effectuer cette fiche d'attente ?
merci