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 :
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
c'est trop bizarre ....
que me conseillez vous pour effectuer cette fiche d'attente ?
merci
Partager