Sdílet prostřednictvím


Příklad: Zobrazení dialogového okna pomocí příkazu v nabídce

Toto téma obsahuje postupy pro:

  • Zobrazení modálního dialogového okna pomocí příkazu nabídky

  • Zobrazení bezmodového dialogového okna pomocí příkazu nabídky

Oba ukázkové postupy jsou pro aplikace MFC a budou fungovat v aplikaci, kterou vytvoříte pomocí Průvodce aplikací MFC.

Postupy používají následující názvy a hodnoty:

Položka Název nebo hodnota
Aplikace DisplayDialog
Příkaz nabídky Příkaz Test v nabídce Zobrazit; ID příkazu = ID_VIEW_TEST
Dialogové okno Testovací dialogové okno; Třída = CTestDialog; Hlavičkový soubor = TestDialog.h; Proměnná = testdlg, ptestdlg
Obslužná rutina příkazu OnViewTest

Zobrazení modálního dialogového okna

  1. Vytvoření příkazu nabídky; viz Vytváření nabídek nebo položek nabídky.

  2. Vytvoření dialogového okna; viz Spuštění Editoru dialogů.

  3. Přidejte třídu pro své dialogové okno. Další informace najdete v tématu Přidání třídy .

  4. V zobrazení třídy vyberte třídu dokumentu (CDisplayDialogDoc). V okně Vlastnosti klikněte na tlačítko Události . Poklikejte na ID příkazu nabídky (ID_VIEW_TEST). Potom klikněte na šipku dolů a vyberte <Přidat> OnViewTest.

    Pokud jste do sálového počítače aplikace MDI přidali příkaz nabídky, vyberte místo toho třídu aplikace (CDisplayDialogApp).

  5. Přidejte následující příkaz include do CDisplayDialogDoc.cpp (nebo CDisplayDialogApp.cpp) za existující příkazy include:

    #include "TestDialog.h"
    
  6. Přidejte následující kód pro OnViewTest implementaci funkce:

    CTestDialog testdlg;
    testdlg.DoModal();
    

Zobrazení dialogového okna bez režimu

  1. Proveďte první čtyři kroky k zobrazení modálního dialogového okna s výjimkou výběru třídy zobrazení (CDisplayDialogView) v kroku 4.

  2. Upravit DisplayDialogView.h:

    • Deklarujte třídu dialogového okna před deklarací první třídy:
    class CTestDialog;
    
    • Deklarujte ukazatel na dialogové okno za veřejným oddílem Atributy:
    CTestDialog* m_pTestDlg;
    
  3. Upravit DisplayDialogView.cpp:

    • Za existující příkaz include přidejte následující příkaz include:
    #include "TestDialog.h"
    
    • Do konstruktoru přidejte následující kód:
    m_pTestDlg = NULL;
    
    • Do destruktoru přidejte následující kód:
    delete m_pTestDlg;
    
    • Přidejte následující kód pro OnViewTest implementaci funkce:
    if (NULL == m_pTestDlg)
    {
       m_pTestDlg = new CTestDialog(this);
       m_pTestDlg->Create(CTestDialog::IDD, this);
    }
    m_pTestDlg->ShowWindow(SW_SHOW);
    

Viz také

Dialogová okna
Modální a nemodální dialogová okna