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
Tworzenie polecenia menu; zobacz Tworzenie menu i elementów Menu.
Utworzyć okno dialogowe; zobacz Uruchamianie edytora okien dialogowych.
Dodać klasę dla użytkownika okna dialogowego.Zobacz dodanie klasy uzyskać więcej informacji.
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).
Dodaj instrukcję, aby CDisplayDialogDoc.cpp (lub CDisplayDialogApp.cpp) obejmuje następujące po istniejących zawierają instrukcji:
#include "TestDialog.h"
Dodaj następujący kod, aby OnViewTest do realizacji funkcji:
CTestDialog testdlg; testdlg.DoModal();
Aby wyświetlić okno dialogowe niemodalny
Wykonaj cztery pierwsze kroki w celu wyświetlenia modalnego okna dialogowego, z wyjątkiem wybierz klasę widoku (CDisplayDialogView) w kroku 4.
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;
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