Débutant MFC : message de fermeture sur DoModal()

zmtd Messages postés 1 Date d'inscription jeudi 3 juin 2004 Statut Membre Dernière intervention 16 septembre 2004 - 16 sept. 2004 à 12:12
cs_thierry la fronde Messages postés 351 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 août 2009 - 17 sept. 2004 à 11:38
Bonjour à tous,

mon problème doit être tellement simple que je n'ai rien trouvé (ou alors mal cherché) à ce sujet.

J'ai créé une appli basée sur une boite de dialogue. Dans cette boite de dialogue, j'aimerais afficher une nouvelle boite de dialogue d'attente. Je m'explique : j'ai un compteur int i. Quand i est inférieur à 2, j'aimerais afficher une boite de dialogue du style "Attendez quelques instant, le programme s'initialise", et lorsque i est supérieur à 4, j'aimerais fermer cette fenêtre pour revenir sur la fenetre principale.

J'ai donc crée une nouvelle classe contenant une boite de dialogue CAttenteDlg. Dans ma fenêtre pricnipale, j'ai mis dans le code :

int i;
CAttenteDlg dlg;
...
if (i <= 2)
{
dlg.DoModal(); //ca marche la boite s'affiche
}
...
if (i>4)
{
dlg.PostMessage(WM_CLOSE,0,0) //ca marche pas, erreur d'assert
}

Y a t-il une solution simple ? J'ai essayer EndDialog(), mais il lui faut le handle de la fenetre à fermer, et je ne sais pas comment récupérer le handle d'une fenetre créée par domodal(). comment faire ?

D'avance merci de vos réponses.

1 réponse

cs_thierry la fronde Messages postés 351 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 août 2009
17 sept. 2004 à 11:38
As-tu traiter le PostMessage dans la boîte que tu veux fermer ?

Tu peux aussi chercher la fonction qui te permet de récuper le handle.

Autre solution : Essais de passer la valeur de ton compteur en paramètre à ta boîte de dialogue et faire un EndDialog à partir de la boîte à fermer.

A+
0
Rejoignez-nous