Esempio: visualizzazione di una finestra di dialogo tramite un comando di menu

Questo argomento contiene procedure per:

  • Visualizzare una finestra di dialogo modale tramite un comando di menu.

  • Consente di visualizzare una finestra di dialogo senza modalità tramite un comando di menu.

Entrambe le procedure di esempio sono relative alle applicazioni MFC e funzioneranno in un'applicazione creata con la Creazione guidata applicazione MFC.

Le procedure usano i nomi e i valori seguenti:

Articolo Nome o valore
Applicazione DisplayDialog
Comando di menu Comando Test nel menu Visualizza; ID comando = ID_VIEW_TEST
Finestra di dialogo Finestra di dialogo Test; Classe = CTestDialog; File di intestazione = TestDialog.h; Variabile = testdlg, ptestdlg
Gestore comandi OnViewTest

Per visualizzare una finestra di dialogo modale

  1. Creare il comando di menu; vedere Creazione di menu o voci di menu.

  2. Creare la finestra di dialogo; vedere Avvio dell'editor di dialoghi.

  3. Aggiungere una classe per la finestra di dialogo. Per altre informazioni, vedere Aggiunta di una classe .

  4. In Visualizzazione classi selezionare la classe documento (CDisplayDialogDoc). Nella finestra Proprietà fare clic sul pulsante Eventi . Fare doppio clic sull'ID del comando di menu (ID_VIEW_TEST). Fare quindi clic sulla freccia giù e selezionare <Aggiungi> OnViewTest.

    Se è stato aggiunto il comando di menu al mainframe di un'applicazione MDI, selezionare invece la classe applicazione (CDisplayDialogApp).

  5. Aggiungere l'istruzione include seguente a CDisplayDialogDoc.cpp (o CDisplayDialogApp.cpp) dopo le istruzioni include esistenti:

    #include "TestDialog.h"
    
  6. Aggiungere il codice seguente per OnViewTest implementare la funzione :

    CTestDialog testdlg;
    testdlg.DoModal();
    

Per visualizzare una finestra di dialogo senza modalità

  1. Eseguire i primi quattro passaggi per visualizzare una finestra di dialogo modale, ad eccezione della selezione della classe di visualizzazione (CDisplayDialogView) nel passaggio 4.

  2. Modificare DisplayDialogView.h:

    • Dichiarare la classe della finestra di dialogo che precede la dichiarazione della prima classe:
    class CTestDialog;
    
    • Dichiarare un puntatore alla finestra di dialogo dopo la sezione Attributi pubblici:
    CTestDialog* m_pTestDlg;
    
  3. Modifica DisplayDialogView.cpp:

    • Aggiungere l'istruzione include seguente dopo le istruzioni include esistenti:
    #include "TestDialog.h"
    
    • Aggiungere il codice seguente al costruttore:
    m_pTestDlg = NULL;
    
    • Aggiungere il codice seguente al distruttore:
    delete m_pTestDlg;
    
    • Aggiungere il codice seguente per OnViewTest implementare la funzione :
    if (NULL == m_pTestDlg)
    {
       m_pTestDlg = new CTestDialog(this);
       m_pTestDlg->Create(CTestDialog::IDD, this);
    }
    m_pTestDlg->ShowWindow(SW_SHOW);
    

Vedi anche

Finestre di dialogo
Finestre di dialogo modali e non modali