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.