Udostępnij za pośrednictwem


Przykład: wyświetlanie okna dialogowego za pomocą polecenia menu

Ten temat zawiera procedury dotyczące:

  • Wyświetl modalne okno dialogowe za pomocą polecenia menu.

  • Wyświetlanie okna dialogowego bez moderowania za pomocą polecenia menu.

Obie procedury przykładowe są przeznaczone dla aplikacji MFC i będą działać w aplikacji utworzonej za pomocą Kreatora aplikacji MFC.

Procedury używają następujących nazw i wartości:

Produkt Nazwa lub wartość
Aplikacja DisplayDialog
Polecenie menu Polecenie Testuj w menu Widok; Identyfikator polecenia = ID_VIEW_TEST
Okno dialogowe Test — okno dialogowe; Class = CTestDialog; Plik nagłówka = TestDialog.h; Zmienna = testdlg, ptestdlg
Procedura obsługi poleceń OnViewTest

Aby wyświetlić modalne okno dialogowe

  1. Utwórz polecenie menu; Zobacz Tworzenie menu lub elementów menu.

  2. Utwórz okno dialogowe; zobacz Uruchamianie edytora okien dialogowych.

  3. Dodaj klasę dla okna dialogowego. Aby uzyskać więcej informacji, zobacz Dodawanie klasy .

  4. W widoku klasy wybierz klasę dokumentu (CDisplayDialogDoc). W oknie Właściwości kliknij przycisk Zdarzenia. Kliknij dwukrotnie identyfikator polecenia menu (ID_VIEW_TEST). Następnie kliknij strzałkę w dół i wybierz pozycję <Dodaj> OnViewTest.

    Jeśli dodano polecenie menu do komputera mainframe aplikacji MDI, zamiast tego wybierz klasę aplikacji (CDisplayDialogApp).

  5. Dodaj następującą instrukcję include do CDisplayDialogDoc.cpp (lub CDisplayDialogApp.cpp) po istniejących instrukcjach include:

    #include "TestDialog.h"
    
  6. Dodaj następujący kod, aby OnViewTest zaimplementować funkcję:

    CTestDialog testdlg;
    testdlg.DoModal();
    

Aby wyświetlić okno dialogowe bez moderowania

  1. Wykonaj pierwsze cztery kroki, aby wyświetlić modalne okno dialogowe, z wyjątkiem wybrania klasy widoku (CDisplayDialogView) w kroku 4.

  2. Edytuj displayDialogView.h:

    • Zadeklaruj klasę okna dialogowego poprzedzającą pierwszą deklarację klasy:
    class CTestDialog;
    
    • Zadeklaruj wskaźnik do okna dialogowego po sekcji Atrybuty publiczne:
    CTestDialog* m_pTestDlg;
    
  3. Edytuj plik DisplayDialogView.cpp:

    • Dodaj następującą instrukcję include po istniejących instrukcjach include:
    #include "TestDialog.h"
    
    • Dodaj następujący kod do konstruktora:
    m_pTestDlg = NULL;
    
    • Dodaj następujący kod do destruktora:
    delete m_pTestDlg;
    
    • Dodaj następujący kod, aby OnViewTest zaimplementować funkcję:
    if (NULL == m_pTestDlg)
    {
       m_pTestDlg = new CTestDialog(this);
       m_pTestDlg->Create(CTestDialog::IDD, this);
    }
    m_pTestDlg->ShowWindow(SW_SHOW);
    

Zobacz też

Okna dialogowe
Modalne i niemodalne okna dialogowe