Destruction automatique d'une fenêtre d'attente
Bonjour,
Lors de la fermeture d'un fichier dans mon application, je dois d'abord arrêter un thread et, une fois le thread arrêté, je peux fermer mon fichier. Pour faire patienter l'utilisateur (entre le moment où il a choisi de fermer son fichier et le moment où je lui permets de le fermer), je fais apparaître une petite fenêtre (un CMyDialog) que je voudrais faire disparaître une fois le thread arrêté et ainsi fermer le fichier. La fenêtre devrait donc "s'auto-détruire" une fois que le test a réussi.
D'abord, je fais :
Code:
1 2
| CMyDialog dia;
dia.DoModal(); |
Ensuite, j'essaye de fermer le CMyDialog en mettant le test dans le OnPaint() ou le PreTranslateMessage() de la classe CMyDialog:
Code:
1 2
| if (testOK())
OnCancel(); |
mais le OnCancel() n'est exécuté que lorsque je passe ma souris sur la boîte de dialogue. Il manque donc quelque chose. Mais quoi?
Des idées?
Merci,
Hugues
Destruction automatique d'une fenêtre d'attente
OK, mais si ma boîte n'est pas modale, mon application n'est plus en attente du test sur la fermeture du thread; elle continue de s'exécuter et ferme le fichier avant que le test n'ai donné son autorisation de fermeture.
Hugues.
Destruction automatique d'une fenêtre d'attente
J'ai implémenté la solution de Médinoc. Ca fonctionne.
Merci,
Hugues