Affichage et AfxBeginThread()
Salut =)
Et oui encore un autre message dans le forum concernant l'affichage d'une fenêtre de chargement à l'aide d'un thread... Comme je n'ai pas trouvé de réponse...
Alors, voici la définition de la fonction qui affiche la boite et incrémente la barre de progression (fortement inspirée d'un message sur ce forum) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| UINT AfficherBddChargement(LPVOID pParam)
{
MSG msg;
CChargementDlg * dlg = new CChargementDlg;
dlg->Create(IDD_CHARGEMENT);
dlg->ShowWindow(SW_NORMAL);
do
{
dlg->Incrementer();
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}while (msg.message != WM_END_THREAD);
dlg->ShowWindow(SW_HIDE);
delete dlg;
return 0;
} |
Le problème est que quand mon chargement est fini, le thread arrive à la ligne ShowWindow(), donc la fenêtre ne s'affiche pas...
Avant le code de chargement, on passe bien par Create().
Une petite idée ? :D