CDialog

Klasa CDialog jest klasą bazową dla wyświetlania okien dialogowych na ekranie. Okna dialogowe są dwa typy: modalnym i niemodalny. Modalne okno dialogowe muszą być zamknięte przez użytkownika, zanim aplikacja. Okno dialogowe niemodalny pozwala użytkownikowi zostanie wyświetlone okno dialogowe i powrócić do innego zadania bez anulowanie lub usuwanie okno dialogowe.

Obiekt CDialog jest kombinacją szablon okno dialogowe i CDialog-klasy. Użyj edytora okno dialogowe, aby utworzyć szablon okno dialogowe i przechowywać go w zasób, a następnie użyj ClassWizard aby utworzyć klasę pochodną CDialog.

Pojawia się okno dialogowe, podobnie jak inne okna, odbiera wiadomości z systemu Windows. W oknie dialogowym jest szczególnie zainteresowany obsługi wiadomości powiadomień z formantów okna dialogowego, ponieważ jest to, w jaki sposób użytkownik współdziała z okno dialogowe. ClassWizard przegląda poprzez potencjalnych komunikatów generowanych przez każdego formantu w okno dialogowe, wybierz wiadomości, które chcesz obsłużyć. ClassWizard następnie doda odpowiedni komunikat Mapa wpisów i funkcje składowe programu obsługi wiadomości z nową klasą dla Ciebie. Wystarczy napisać kod specyficzny dla aplikacji w funkcje składowe obsługi.

Jeśli wolisz, można zawsze pisać wiadomości Mapa wpisów i funkcje składowe samodzielnie zamiast przy użyciu ClassWizard.

We wszystkich najbardziej trywialny okno dialogowe należy dodać zmienne składowe klasy pochodnej okna dialogowego do przechowywania danych wprowadzonych w oknie dialogowym kontroli przez użytkownika lub wyświetlania danych użytkownika. ClassWizard przegląda przez te formanty w twoje okno dialogowe, które mogą być mapowane do danych i monituje o utworzenie zmienną dla każdego formantu. W tym samym czasie możesz wybrać typu zmiennej i dopuszczalny zakres wartości dla każdej zmiennej. ClassWizard dodaje zmienne składowe klasy pochodnej okno dialogowe.

ClassWizard następnie zapisuje Mapa danych automatycznie obsługiwać wymianę danych między zmienne składowe i formantów okna dialogowego. Mapa danych zawiera funkcje, które zainicjować formantów w oknie dialogowym odpowiednie wartości, pobrać dane i sprawdzania poprawności danych.

Aby utworzyć modalnego okna dialogowego, konstruowania obiektów na stosie za pomocą konstruktora klasy pochodnej okna dialogowego, a następnie wywołać DoModal utworzyć okna dialogowego i jego formantach. Jeśli chcesz utworzyć niemodalny okno dialogowe, wywołanie Tworzenie w konstruktorze klasy okno dialogowe.

Można także utworzyć szablon w pamięci, przy użyciu DLGTEMPLATE dane struktury zgodnie z opisem w dokumentacji zestawu SDK systemu Win32. Po podczas konstruowania obiektu CDialog , wywołanie CreateIndirect utworzyć okno dialogowe niemodalny lub wywołać InitModalIndirect i DoModal , aby utworzyć modalnego okna dialogowego.

ClassWizard zapisuje Mapa danych programu exchange i sprawdzania poprawności w nadpisanie CWnd::DoDataExchange , że ClassWizard dodaje nową klasę okna dialogowego. Zobacz opis funkcji DoDataExchange Członkowskich w CWnd aby dowiedzieć się więcej o funkcjach programu exchange i sprawdzania poprawności.

Programista i ramach wymagają DoDataExchange pośrednio poprzez wywołanie CWnd::UpdateData.

Ramach wywołuje UpdateData , gdy użytkownik kliknie przycisk OK, aby zamknąć modalnego okna dialogowego. (Dane nie są pobierane po kliknięciu przycisku Anuluj.) Domyślna implementacja OnInitDialog wymaga również UpdateData do ustawienia początkowej wartości formantów. Zazwyczaj można zastąpić OnInitDialog zainicjować dalszych kontroli. OnInitDialog jest wywoływana po wszystkich formantów okna dialogowego są tworzone, a tuż przed okno dialogowe wyświetlane jest okno.

CWnd::UpdateData można wywołać w dowolnym momencie podczas wykonywania okno dialogowe modalny lub niemodalny.

Jeśli ręcznie rozwinąć okno dialogowe można dodać zmienne składowe niezbędne do klasy pochodnej okno dialogowe samodzielnie i dodać funkcje składowe lub uzyskać te wartości.

Aby uzyskać więcej informacji o ClassWizard, zobacz ClassWizard za pomocą programu Visual C++ Programmer's Guide.

Wywołanie CWinApp::SetDialogBkColor aby ustawić kolor tła dla okien dialogowych w aplikacji.

Modalne okno dialogowe automatycznie zamknięty, kiedy użytkownik naciśnie przycisk OK lub Anuluj lub gdy kod wywołuje funkcję Państwa EndDialog.

Podczas wdrażania okno dialogowe niemodalny zawsze zastępują funkcję Państwa OnCancel i wywołać DestroyWindow z jego. Nie wywołuj klasy bazowej CDialog::OnCancel, ponieważ wywołuje EndDialog, który będzie uczynić niewidocznym oknie dialogowym, ale nie spowoduje zniszczenie. PostNcDestroy niemodalny dialogowych powinny również zastąpić, w celu usunięcia tego, ponieważ niemodalny okien dialogowych są zazwyczaj przydzielane z nowym. Modalnych okien dialogowych zazwyczaj są zbudowane na ramce i nie ma potrzeby oczyszczanie PostNcDestroy.

Aby uzyskać więcej informacji o CDialog, zobacz artykuł Okno dialogowe pole tematy w Visual C++ Programmer's Guide.

# include lt;afxwin.h>

Czło&nkowie klasy |nbsp; Klasa podstawowa | Wykres hierarchii

Samples    MFC Sample DBFETCH MFC Sample DLGCBR32 MFC Sample DLGTEMPL MFC Sample EXTBIND MFC Sample FTPTREE MFC Sample HELLO MFC Sample MDIBIND MFC Sample VCTERM

Index