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

Ten temat zawiera procedury w celu:

  • Wyświetlić modalne okno dialogowe za pomocą poleceń menu.

  • Wyświetlanie okna dialogowego niemodalny za pomocą poleceń menu.

Obie procedury próbki są dla aplikacji MFC i będzie działać w aplikacji, tworzenie z Kreatora aplikacji MFC.

Procedury należy użyć następującej nazwy i wartości:

Element

Nazwa lub wartość

Aplikacja

DisplayDialog

Polecenia menu

Testuj, polecenie menu Widok; Identyfikator polecenia = ID_VIEW_TEST

Okno dialogowe

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

Program obsługi poleceń

OnViewTest

Aby wyświetlić modalne okno dialogowe

  1. Tworzenie polecenia menu; zobacz Tworzenie menu i elementów Menu.

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

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

  4. W Widok klasy, wybierz klasę dokumentu (CDisplayDialogDoc).W Właściwości okna, kliknij przycisk zdarzenia przycisk.Identyfikator polecenia menu (ID_VIEW_TEST) w lewym okienku kliknij dwukrotnie pozycję Właściwości i zaznacz polecenia.W prawym okienku, kliknij strzałkę w dół i wybierz <Dodaj > OnViewTest.

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

  5. Dodaj instrukcję, aby CDisplayDialogDoc.cpp (lub CDisplayDialogApp.cpp) obejmuje następujące po istniejących zawierają instrukcji:

    #include "TestDialog.h"
    
  6. Dodaj następujący kod, aby OnViewTest do realizacji funkcji:

    CTestDialog testdlg;
    testdlg.DoModal();  
    

Aby wyświetlić okno dialogowe niemodalny

  1. Wykonaj cztery pierwsze kroki w celu wyświetlenia modalnego okna dialogowego, z wyjątkiem wybierz klasę widoku (CDisplayDialogView) w kroku 4.

  2. Edytuj DisplayDialogView.h:

    • Zadeklarować klasy okno dialogowe poprzedzających zgłoszenie pierwszej klasy:

      class CTestDialog;
      
    • Zadeklarować wskaźnika dla okna dialogowego po sekcji publicznej atrybutów:

      CTestDialog* m_pTestDlg;
      
  3. Edytuj DisplayDialogView.cpp:

    • Dodać następujące zawierać oświadczenie po istniejących zawierają instrukcji:

      #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, aby OnViewTest do realizacji 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ł bazy wiedzy Knowledge Base:

  • Q251059: PORADNIKI: zapewnić swoją własną nazwą klasy okno dialogowe MFC

Zobacz też

Koncepcje

Okna dialogowe

Modalne i niemodalne okna dialogowe