Partager via


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

  1. Créer la commande de menu ; consultez Création de menus ou d’éléments de menu.

  2. Créer la boîte de dialogue ; voir Démarrage de l’éditeur de boîte de dialogue.

  3. Ajoutez une classe pour votre boîte de dialogue. Pour plus d’informations, consultez Ajout d’une classe .

  4. 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.

  5. Ajoutez l’instruction include suivante à CDisplayDialogDoc.cpp (ou CDisplayDialogApp.cpp) après les instructions include existantes :

    #include "TestDialog.h"
    
  6. Ajoutez le code suivant pour OnViewTest implémenter la fonction :

    CTestDialog testdlg;
    testdlg.DoModal();
    

Pour afficher une boîte de dialogue sans mode

  1. 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.

  2. 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;
    
  3. 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