Udostępnij za pośrednictwem


Przykład: Wyświetlania okna dialogowego za pomocą polecenia Menu

Ten temat zawiera procedury:

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

  • Wyświetlić okno dialogowe niemodalny za pomocą polecenia menu.

Obie procedury próbki są dla aplikacji MFC i będzie działać w aplikacji można utworzyć z Kreatora aplikacji MFC.

Procedury użyj następującej nazwy i wartości:

Element

Nazwę lub wartość

Aplikacja

DisplayDialog

Polecenia menu

Test polecenia menu Widok; Identyfikator polecenia = ID_VIEW_TEST

Okno dialogowe

Okno dialogowe Test; Klasa = CTestDialog; Plik nagłówka = TestDialog.h; Zmienna = testdlg-ptestdlg

Polecenia obsługi

OnViewTest

Aby wyświetlić modalne okno dialogowe

  1. Tworzenie polecenia menu; zobacz Tworzenie menu lub elementy Menu.

  2. Utworzyć okno dialogowe; zobacz Uruchamianie edytora okien dialogowych.

  3. Dodać klasę użytkownika okna dialogowego.Zobacz Dodawanie klasy Aby uzyskać więcej informacji.

  4. W Widoku klasy, wybierz opcję Klasa dokumentu (CDisplayDialogDoc).W Właściwości okna, kliknij zdarzenia przycisk.Kliknij dwukrotnie identyfikator polecenia menu (ID_VIEW_TEST) w lewym okienku Właściwości okno i wybierz polecenia.W prawym okienku kliknij strzałkę w dół i wybierz <Add> OnViewTest.

    Jeśli polecenie menu jest dodany do typu mainframe MDI aplikacji, należy wybrać klasę aplikacji (CDisplayDialogApp).

  5. Dodaj następujące zawierać oświadczenie CDisplayDialogDoc.cpp (lub CDisplayDialogApp.cpp) po istniejące zawierają stwierdzenia:

    #include "TestDialog.h"
    
  6. Dodaj następujący kod do OnViewTest w celu zaimplementowania funkcji:

    CTestDialog testdlg;
    testdlg.DoModal();  
    

Aby wyświetlić okno dialogowe niemodalny

  1. Wykonaj pierwsze cztery kroki, aby wyświetlić modalne okno dialogowe, wybierz widok klasy (CDisplayDialogView) w kroku 4.

  2. Edytowanie DisplayDialogView.h:

    • Klasa pole dialogowe poprzedzających zgłoszenie pierwszej klasy, oświadczam:

      class CTestDialog;
      
    • Po sekcji publicznej atrybuty, należy zadeklarować wskaźnika do okna dialogowego:

      CTestDialog* m_pTestDlg;
      
  3. Edytowanie DisplayDialogView.cpp:

    • Dodaj następujące zawierać oświadczenie po istniejące zawierają stwierdzenia:

      #include "TestDialog.h"
      
    • Dodaj następujący kod do konstruktora:

      m_pTestDlg = NULL;
      
    • Dodaj następujący kod do destruktor:

      delete m_pTestDlg;
      
    • Dodaj następujący kod do OnViewTest w celu zaimplementowania funkcji:

      if (NULL == m_pTestDlg)
      {
         m_pTestDlg = new CTestDialog(this);
         m_pTestDlg->Create(CTestDialog::IDD, this);
      }
      m_pTestDlg->ShowWindow(SW_SHOW); 
      

Ponadto zobacz następujący artykuł z bazy wiedzy Knowledge Base:

  • Q251059: HOWTO: własne nazwy klasy okna dialogowego MFC

Zobacz też

Koncepcje

Okna dialogowe

Modalne i niemodalny okien dialogowych