Compartir a través de


Ejemplo: Mostrar un cuadro de diálogo a través de un comando de menú

Este tema contiene procedimientos para:

  • Mostrar un cuadro de diálogo modal mediante un comando de menú.

  • Mostrar un cuadro de diálogo modela mediante un comando de menú.

Ambos procedimientos de ejemplo son para aplicaciones MFC y funcionarán en una aplicación que cree con el Asistente para aplicaciones MFC.

Los procedimientos usan los siguientes nombres y valores:

Elemento Nombre o valor
Aplicación DisplayDialog
Comando de menú Comando Probar en el menú Ver; Id. de comando = ID_VIEW_TEST
Cuadro de diálogo Cuadro de diálogo Prueba; Clase = CTestDialog; Archivo de encabezado = TestDialog.h; Variable = testdlg, ptestdlg
Controlador de comandos OnViewTest

Para mostrar un cuadro de diálogo modal

  1. Crear el comando de menú; consulta Crear menús o elementos de menú.

  2. Crear el cuadro de diálogo; vea Iniciar el Editor de diálogos.

  3. Agregue una clase para el cuadro de diálogo. Consulte Adición de una clase para obtener más información.

  4. En Vista de clases, seleccione la clase de documento (CDisplayDialogDoc). En la ventana Propiedades , haga clic en el botón Eventos . Haga doble clic en el identificador del comando de menú (ID_VIEW_TEST). A continuación, haga clic en la flecha abajo y seleccione <Agregar> OnViewTest.

    Si agregó el comando de menú al sistema central de una aplicación MDI, seleccione la clase de aplicación (CDisplayDialogApp) en su lugar.

  5. Agregue la siguiente instrucción include a CDisplayDialogDoc.cpp (o CDisplayDialogApp.cpp) después de las instrucciones include existentes:

    #include "TestDialog.h"
    
  6. Agregue el código siguiente para OnViewTest implementar la función :

    CTestDialog testdlg;
    testdlg.DoModal();
    

Para mostrar un cuadro de diálogo modeless

  1. Realice los cuatro primeros pasos para mostrar un cuadro de diálogo modal, excepto seleccione la clase view (CDisplayDialogView) en el paso 4.

  2. Edite DisplayDialogView.h:

    • Declare la clase de cuadro de diálogo anterior a la declaración de primera clase:
    class CTestDialog;
    
    • Declare un puntero al cuadro de diálogo después de la sección Atributos públicos:
    CTestDialog* m_pTestDlg;
    
  3. Editar DisplayDialogView.cpp:

    • Agregue la siguiente instrucción include después de las instrucciones include existentes:
    #include "TestDialog.h"
    
    • Agregue el código siguiente al constructor:
    m_pTestDlg = NULL;
    
    • Agregue el código siguiente al destructor:
    delete m_pTestDlg;
    
    • Agregue el código siguiente para OnViewTest implementar la función :
    if (NULL == m_pTestDlg)
    {
       m_pTestDlg = new CTestDialog(this);
       m_pTestDlg->Create(CTestDialog::IDD, this);
    }
    m_pTestDlg->ShowWindow(SW_SHOW);
    

Consulte también

cuadros de diálogo
Cuadros de diálogo modales y modeless