Klasa CDataExchange
Obsługuje procedury wymiany danych okna dialogowego (DDX) i weryfikacji danych okna dialogowego (Przeglądarka danych diagnostycznych) używane przez klasy programu Microsoft Foundation.
Składnia
class CDataExchange
Członkowie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CDataExchange::CDataExchange | CDataExchange Tworzy obiekt. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CDataExchange::Fail | Wywoływana w przypadku niepowodzenia walidacji. Resetuje fokus do poprzedniej kontrolki i zgłasza wyjątek. |
CDataExchange::P repareCtrl | Przygotowuje określoną kontrolkę do wymiany lub walidacji danych. Służy do kontrolek nieedytowanych. |
CDataExchange::P repareEditCtrl | Przygotowuje określoną kontrolkę edycji do wymiany lub walidacji danych. |
CDataExchange::P repareOleCtrl | Przygotowuje określoną kontrolkę OLE do wymiany lub walidacji danych. Służy do kontrolek nieedytowanych. |
Publiczne elementy członkowskie danych
Nazwa/nazwisko | opis |
---|---|
CDataExchange::m_bSaveAndValidate | Flaga kierunku DDX i Przeglądarka danych diagnostycznych. |
CDataExchange::m_pDlgWnd | Okno dialogowe lub okno, w którym odbywa się wymiana danych. |
Uwagi
CDataExchange
nie ma klasy bazowej.
Użyj tej klasy, jeśli piszesz procedury wymiany danych dla niestandardowych typów danych lub kontrolek, lub jeśli piszesz własne procedury weryfikacji danych. Aby uzyskać więcej informacji na temat pisania własnych procedur DDX i Przeglądarka danych diagnostycznych, zobacz Uwaga techniczna 26. Aby zapoznać się z omówieniem DDX i Przeglądarka danych diagnostycznych, zobacz Dialog Data Exchange and Validation and Dialog Box (Wymiana danych i walidacja oraz okna dialogowe).
Obiekt CDataExchange
zawiera informacje kontekstowe potrzebne do przeprowadzenia DDX i Przeglądarka danych diagnostycznych. Flaga m_bSaveAndValidate to FALSE, gdy DDX służy do wypełniania początkowych wartości kontrolek okna dialogowego z elementów członkowskich danych. Flaga m_bSaveAndValidate ma wartość TRUE, gdy DDX służy do ustawiania bieżących wartości kontrolek okna dialogowego na elementy członkowskie danych i gdy Przeglądarka danych diagnostycznych jest używana do sprawdzania poprawności wartości danych. Jeśli weryfikacja Przeglądarka danych diagnostycznych zakończy się niepowodzeniem, procedura Przeglądarka danych diagnostycznych wyświetli pole komunikatu z wyjaśnieniem błędu wejściowego. Następnie procedura Przeglądarka danych diagnostycznych spowoduje Fail
zresetowanie fokusu do kontroli naruszenia i zgłoszenie wyjątku w celu zatrzymania procesu weryfikacji.
Hierarchia dziedziczenia
CDataExchange
Wymagania
Nagłówek: afxwin.h
CDataExchange::CDataExchange
Wywołaj tę funkcję składową CDataExchange
, aby utworzyć obiekt.
CDataExchange(
CWnd* pDlgWnd,
BOOL bSaveAndValidate);
Parametry
pDlgWnd
Wskaźnik do okna nadrzędnego zawierającego kontrolkę. Zazwyczaj jest to obiekt pochodny CDialog.
bSaveAndValidate
Jeśli wartość TRUE, ten obiekt weryfikuje dane, a następnie zapisuje dane z kontrolek do elementów członkowskich. Jeśli wartość FALSE, ten obiekt przeniesie dane z elementów członkowskich do kontrolek.
Uwagi
Skonstruuj CDataExchange
obiekt samodzielnie, aby przechowywać dodatkowe informacje w obiekcie wymiany danych w celu przekazania ich do funkcji składowej CWnd::D oDataExchange .
Przykład
CYourDataExchange dx(this, FALSE);
try
{
DoDataExchange(&dx);
}
catch (CUserException *pe)
{
// some part of the exchange went wrong
// but the user has already been notified
pe->Delete();
}
CDataExchange::Fail
Struktura wywołuje tę funkcję składową, gdy operacja sprawdzania poprawności danych okna dialogowego (Przeglądarka danych diagnostycznych) kończy się niepowodzeniem.
void Fail();
Uwagi
Fail
przywraca fokus i zaznaczenie do kontrolki, której walidacja nie powiodła się (jeśli istnieje kontrolka do przywrócenia). Fail
następnie zgłasza wyjątek typu CUserException , aby zatrzymać proces weryfikacji. Wyjątek powoduje wyświetlenie pola komunikatu z wyjaśnieniem błędu. Po Przeglądarka danych diagnostycznych weryfikacji nie powiedzie się, użytkownik może ponownie wywłaszać dane w kontrolce naruszenia.
Implementatory niestandardowych procedur Przeglądarka danych diagnostycznych mogą wywoływać Fail
ze swoich procedur, gdy walidacja zakończy się niepowodzeniem.
Aby uzyskać więcej informacji na temat pisania własnych procedur DDX i Przeglądarka danych diagnostycznych, zobacz Uwaga techniczna 26. Aby zapoznać się z omówieniem DDX i Przeglądarka danych diagnostycznych, zobacz Tematy dotyczące wymiany danych i walidacji oraz okna dialogowego.
CDataExchange::m_bSaveAndValidate
Ta flaga wskazuje kierunek operacji wymiany danych okna dialogowego (DDX).
BOOL m_bSaveAndValidate;
Uwagi
Flaga jest niezerowa, jeśli CDataExchange
obiekt jest używany do przenoszenia danych z kontrolek okna dialogowego do składowych danych klasy okna dialogowego po edycji kontrolek przez użytkownika. Flaga ma wartość zero, jeśli obiekt jest używany do inicjowania kontrolek okien dialogowych z składowych danych klasy okna dialogowego.
Flaga jest również niezerowa podczas sprawdzania poprawności danych okna dialogowego (Przeglądarka danych diagnostycznych).
Aby uzyskać więcej informacji na temat pisania własnych procedur DDX i Przeglądarka danych diagnostycznych, zobacz Uwaga techniczna 26. Aby zapoznać się z omówieniem DDX i Przeglądarka danych diagnostycznych, zobacz Tematy dotyczące wymiany danych i walidacji oraz okna dialogowego.
CDataExchange::m_pDlgWnd
Zawiera wskaźnik do obiektu CWnd, dla którego odbywa się wymiana danych okna dialogowego (DDX) lub walidacja (Przeglądarka danych diagnostycznych).
CWnd* m_pDlgWnd;
Uwagi
Ten obiekt jest zwykle obiektem CDialog . Implementatory niestandardowych procedur DDX lub Przeglądarka danych diagnostycznych mogą używać tego wskaźnika, aby uzyskać dostęp do okna dialogowego zawierającego kontrolki, na których działają.
Aby uzyskać więcej informacji na temat pisania własnych procedur DDX i Przeglądarka danych diagnostycznych, zobacz Uwaga techniczna 26. Aby zapoznać się z omówieniem DDX i Przeglądarka danych diagnostycznych, zobacz Tematy dotyczące wymiany danych i walidacji oraz okna dialogowego.
CDataExchange::P repareCtrl
Struktura wywołuje tę funkcję składową, aby przygotować określoną kontrolkę do wymiany danych okien dialogowych (DDX) i weryfikacji (Przeglądarka danych diagnostycznych).
HWND PrepareCtrl(int nIDC);
Parametry
NIDC
Identyfikator kontrolki, która ma być przygotowana na DDX lub Przeglądarka danych diagnostycznych.
Wartość zwracana
HWND kontrolki przygotowanej do DDX lub Przeglądarka danych diagnostycznych.
Uwagi
Zamiast tego użyj metody PrepareEditCtrl do edycji kontrolek; użyj tej funkcji składowej dla wszystkich innych kontrolek.
Przygotowanie składa się z przechowywania HWND kontrolki CDataExchange
w klasie . Struktura używa tego uchwytu do przywrócenia fokusu do wcześniej ukierunkowanej kontrolki w przypadku awarii DDX lub Przeglądarka danych diagnostycznych.
Implementatory niestandardowych procedur DDX lub Przeglądarka danych diagnostycznych powinny wywoływać PrepareCtrl
wszystkie kontrolki nieedytowane, dla których wymieniają dane za pośrednictwem DDX lub weryfikacji danych za pośrednictwem Przeglądarka danych diagnostycznych.
Aby uzyskać więcej informacji na temat pisania własnych procedur DDX i Przeglądarka danych diagnostycznych, zobacz Uwaga techniczna 26. Aby zapoznać się z omówieniem DDX i Przeglądarka danych diagnostycznych, zobacz Tematy dotyczące wymiany danych i walidacji oraz okna dialogowego.
CDataExchange::P repareEditCtrl
Struktura wywołuje tę funkcję składową, aby przygotować określoną kontrolkę edycji do wymiany danych okien dialogowych (DDX) i weryfikacji (Przeglądarka danych diagnostycznych).
HWND PrepareEditCtrl(int nIDC);
Parametry
NIDC
Identyfikator kontrolki edycji, która ma być przygotowana na DDX lub Przeglądarka danych diagnostycznych.
Wartość zwracana
HWND kontrolki edycji przygotowanej dla DDX lub Przeglądarka danych diagnostycznych.
Uwagi
Zamiast tego użyj metody PrepareCtrl dla wszystkich kontrolek nieedytacyjnych.
Przygotowanie składa się z dwóch rzeczy. PrepareEditCtrl
Najpierw przechowuje HWND kontrolki CDataExchange
w klasie . Struktura używa tego uchwytu do przywrócenia fokusu do wcześniej ukierunkowanej kontrolki w przypadku awarii DDX lub Przeglądarka danych diagnostycznych. Po drugie ustawia flagę w CDataExchange
klasie, aby wskazać, PrepareEditCtrl
że kontrolka, której dane są wymieniane lub weryfikowane, jest kontrolką edycji.
Implementatory niestandardowych procedur DDX lub Przeglądarka danych diagnostycznych powinny wywoływać PrepareEditCtrl
wszystkie kontrolki edycji, dla których wymieniają dane za pośrednictwem DDX lub walidacji danych za pośrednictwem Przeglądarka danych diagnostycznych.
Aby uzyskać więcej informacji na temat pisania własnych procedur DDX i Przeglądarka danych diagnostycznych, zobacz Uwaga techniczna 26. Aby zapoznać się z omówieniem DDX i Przeglądarka danych diagnostycznych, zobacz Tematy dotyczące wymiany danych i walidacji oraz okna dialogowego.
CDataExchange::P repareOleCtrl
Struktura wywołuje tę funkcję składową, aby przygotować określoną kontrolkę OLE do wymiany danych dialogowych (DDX) i weryfikacji (Przeglądarka danych diagnostycznych).
COleControlSite* PrepareOleCtrl(int nIDC);
Parametry
NIDC
Identyfikator kontrolki OLE do przygotowania do DDX lub Przeglądarka danych diagnostycznych.
Wartość zwracana
Wskaźnik do lokacji sterowania OLE.
Uwagi
Zamiast tego użyj polecenia PrepareEditCtrl , aby edytować kontrolki lub PrepareCtrl dla wszystkich innych kontrolek innych niż OLE.
Implementatory niestandardowych procedur DDX lub Przeglądarka danych diagnostycznych powinny wywoływać PrepareOleCtrl
wszystkie kontrolki OLE, dla których wymieniają dane za pośrednictwem DDX lub walidacji danych za pośrednictwem Przeglądarka danych diagnostycznych.
Aby uzyskać więcej informacji na temat pisania własnych procedur DDX i Przeglądarka danych diagnostycznych, zobacz Uwaga techniczna 26. Aby zapoznać się z omówieniem DDX i Przeglądarka danych diagnostycznych, zobacz Tematy dotyczące wymiany danych i walidacji oraz okna dialogowego.
Zobacz też
Przykładowy widok MFC
Wykres hierarchii
CWnd::D oDataExchange
CWnd::UpdateData
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla