Fermer ou ignorer la boîte de dialog MFC après une période donnée

comment fermer ou supprimer une boîte de dialog MFC automatiquement après 10 secondes.

Déclarez un identifiant pour votre timer, c’est-à-dire dans votre CMyDialog.h quelque part:

 static const UINT ID_MY_TIMER = 1000; 

Créez une timer dans votre fonction OnInitDialog :

 SetTimer(ID_MY_TIMER, 10000, NULL); // 10000ms = 10 secs 

Ajoutez un gestionnaire pour WM_TIMER (la fonction générée s’appellera OnTimer ):

 void CMyDialog::OnTimer(UINT_PTR nIDEvent) { if (nIDEvent == ID_MY_TIMER) { EndDialog(IDOK); } ... } 

Remplacez IDOK par IDCANCEL fonction du résultat que vous souhaitez obtenir de DoModal.

Utilisez SetTimer avec un délai d’attente de 10 secondes. Sur le gestionnaire de messages du minuteur, postez le message de fermeture.