Fermeture automatique

Résolu
cs_bibou84 Messages postés 6 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 24 décembre 2005 - 24 déc. 2005 à 13:04
cs_bibou84 Messages postés 6 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 24 décembre 2005 - 24 déc. 2005 à 17:03
Bonjour,

Je souhaiterais fermer automatiquement ma boite de dialogue en plus d'avoir le bouton ok et cancel.
Pourriez vous me renseigner sur ce sujet et aussi sur les fonctions endDialog et wm_close si elles sont à utiliser ?

Merci

11 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
24 déc. 2005 à 16:35
Essaie EndDialog(0); à la place de OnClose
3
cs_bibou84 Messages postés 6 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 24 décembre 2005 1
24 déc. 2005 à 16:17
C'est peut etre la fonction OnClose() qui ne convient pas (bien que je ne vois pas quoi mettre d'autre).
En effet, j'ai crée un bouton qui permet de fermer cette fenetre et je lui ai mis CDialog::OnClose() dans les lignes de commande quand on clic dessus mais il ne ferme pas la fenetre pour autant.

Ca inspire quelqu'un ?
Merci
1
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
24 déc. 2005 à 13:26
EndDialog sera forcément utilisée pour fermer le dialogue. Mais qu'entends-tu par fermeture automatique?
0
cs_bibou84 Messages postés 6 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 24 décembre 2005 1
24 déc. 2005 à 13:59
J'aimerais créer une temporisation et à la fin de cette temporisation, la boite de dialogue se fermerait toute seule.
Comment procéder ?
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
24 déc. 2005 à 14:14
Utiliser un Timer (SetTimer). Puis quand tu recois un WM_TIMER, tu appelles EndDialog
0
cs_bibou84 Messages postés 6 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 24 décembre 2005 1
24 déc. 2005 à 14:49
Je suis un peu perdu, j'ai crée les fonctions OnTimer() et Onclose ds ma bdd().
Dans le OnTimer(), j'ai mis SetTimer(parametres) et j'ai appelé le OnClose().
Mais appremment, c'est pas la bonne combi !

merci
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
24 déc. 2005 à 15:15
OnTimer sera appelé quand la temporisation sera terminée. C'est a dire qu'il faut appeler SetTimer pour recevoir WM_TIMER (ou OnTimer). Tu devrais donc faire ton SetTimer à l'ouverture de la dialogBox, c'est a dire dans OnInitDialog
0
cs_Xaviou Messages postés 154 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 2 octobre 2009
24 déc. 2005 à 15:29
En clair, pour illustrer ce que dit vecchio56 :

#define ID_TIMER 1001
BOOL CALLBACK MainDlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
{
case WM_INITDIALOG:
// Création d'un timer de 5 secondes
SetTimer(hDlg,ID_TIMER,5000,NULL)
return TRUE;
case WM_TIMER:
EndDialog(hDlg,0);
break;
case WM_CLOSE:
case WM_DESTROY:
EndDialog(hDlg,0);
return FALSE;
}
return FALSE;
}
0
cs_bibou84 Messages postés 6 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 24 décembre 2005 1
24 déc. 2005 à 15:41
J'ai mis ce code dans mon OnInitDialog() :

OnInitDialog()
{ CDialog::OnInitDialog();
SetTimer(1,2000,0);
CDialog::OnClose();

mais même en modifiant les paramètres de SetTimer(), la boite de dialogue s'ouvre et se ferme qusi instantanément !!
J'ai donc mis le CDialog::OnClose() dans le OnTimer() mais là, la bdd ne se ferme plus !
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
24 déc. 2005 à 15:51
Normalement c'est bien dans OnTimer(UINT nIDEvent) qu'il faut le mettre, et elle devrait se fermer au bout de 2 secondes
Donc la je vois pas...
0
cs_bibou84 Messages postés 6 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 24 décembre 2005 1
24 déc. 2005 à 17:03
Impec !! ca marche !! merci !
0
Rejoignez-nous