Exemple : affichage d'une boîte de dialogue via une commande de menu
Cette rubrique contient des procédures pour :
Afficher une boîte de dialogue modale via une commande de menu.
Afficher une boîte de dialogue sans mode via une commande de menu.
Les deux exemples de procédures sont destinés aux applications MFC et fonctionnent dans une application que vous créez avec l’Assistant Application MFC.
Les procédures utilisent les noms et valeurs suivants :
Article | Nom ou valeur |
---|---|
Application | DisplayDialog |
Commande de menu | Commande de test dans le menu Affichage ; ID de commande = ID_VIEW_TEST |
Boîte de dialogue | Boîte de dialogue Tester ; Class = CTestDialog ; Fichier d’en-tête = TestDialog.h ; Variable = testdlg, ptestdlg |
Gestionnaire de commandes | OnViewTest |
Pour afficher une boîte de dialogue modale
Créer la commande de menu ; consultez Création de menus ou d’éléments de menu.
Créer la boîte de dialogue ; voir Démarrage de l’éditeur de boîte de dialogue.
Ajoutez une classe pour votre boîte de dialogue. Pour plus d’informations, consultez Ajout d’une classe .
En mode Classe, sélectionnez la classe de document (CDisplayDialogDoc). Dans la fenêtre Propriétés, cliquez sur le bouton Événements. Double-cliquez sur l’ID de la commande de menu (ID_VIEW_TEST). Ensuite, cliquez sur la flèche vers le bas, puis sélectionnez <Ajouter> OnViewTest.
Si vous avez ajouté la commande de menu au mainframe d’une application MDI, sélectionnez la classe d’application (CDisplayDialogApp) à la place.
Ajoutez l’instruction include suivante à CDisplayDialogDoc.cpp (ou CDisplayDialogApp.cpp) après les instructions include existantes :
#include "TestDialog.h"
Ajoutez le code suivant pour
OnViewTest
implémenter la fonction :CTestDialog testdlg; testdlg.DoModal();
Pour afficher une boîte de dialogue sans mode
Effectuez les quatre premières étapes pour afficher une boîte de dialogue modale, à l’exception de sélectionner la classe d’affichage (CDisplayDialogView) à l’étape 4.
Modifier DisplayDialogView.h :
- Déclarez la classe de boîte de dialogue précédant la première déclaration de classe :
class CTestDialog;
- Déclarez un pointeur vers la boîte de dialogue après la section publique Attributs :
CTestDialog* m_pTestDlg;
Modifier DisplayDialogView.cpp :
- Ajoutez l’instruction include suivante après les instructions include existantes :
#include "TestDialog.h"
- Ajoutez le code suivant au constructeur :
m_pTestDlg = NULL;
- Ajoutez le code suivant au destructeur :
delete m_pTestDlg;
- Ajoutez le code suivant pour
OnViewTest
implémenter la fonction :
if (NULL == m_pTestDlg) { m_pTestDlg = new CTestDialog(this); m_pTestDlg->Create(CTestDialog::IDD, this); } m_pTestDlg->ShowWindow(SW_SHOW);
Voir aussi
Boîtes de dialogue
Boîtes de dialogue modales et non modales