Okno dialogowe wymiany danych
Użycie mechanizmu DDX ustawieniu wartości początkowe w oknie dialogowym Zmienne składowe obiektu, zazwyczaj w sieci OnInitDialog obsługi lub okno dialogowe konstruktora.Niezwłocznie przed wyświetleniem okna dialogowego mechanizm DDX framework przenosi wartości zmiennych do formantów w oknie dialogowym, w którym występują podczas pojawi okno dialogowe sam w odpowiedzi na DoModal lub Tworzenie.Domyślne wykonania OnInitDialog w CDialog wywołania UpdateData funkcji składowej klasy CWnd zainicjować formantów w oknie dialogowym.
Ten sam mechanizm przenosi wartości z formantów do zmiennych, gdy użytkownik kliknie przycisk OK (lub przy każdym wywołaniu UpdateData Członkowskich funkcji z argumentem TRUE).Mechanizm sprawdzania poprawności danych okna dialogowego sprawdza wszystkie elementy danych, dla których określono reguły sprawdzania poprawności.
Na rysunku przedstawiono okno dialogowe wymiany danych.
Okno dialogowe wymiany danych
UpdateDatadziała w obu kierunkach, określony przez BOOL do niej przekazany parametr.Do przeprowadzenia programu exchange, UpdateData konfiguruje CDataExchange wywołań i obiekt klasy okno dialogowe Zastąp z CDialogna DoDataExchange funkcji składowej.DoDataExchangeprzyjmuje argument typu CDataExchange.CDataExchange Obiektu przekazany do UpdateData reprezentuje w kontekście programu exchange, określenie takich informacji jak kierunek wymiany.
Gdy użytkownik (lub Kreatora kodu) zastąpić DoDataExchange, określ wywołania jednej funkcji DDX dla elementu danych (kontrola).Każda funkcja DDX wie, jak do wymiany danych w obu kierunkach na podstawie kontekstu, dostarczonych przez CDataExchange argument przekazany do programu DoDataExchange przez UpdateData.
MFC oferuje wiele funkcji DDX dla różnych rodzajów wymiany.W poniższym przykładzie DoDataExchange override, w których dwa DDX są nazywane funkcje i jednej funkcji DDV:
void CTestDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Check(pDX, IDC_MY_CHECKBOX, m_bVal);
DDX_Text(pDX, IDC_MY_TEXTBOX, m_strName);
DDV_MaxChars(pDX, m_strName, 20);
}
DDX_ i DDV_ linie są mapowania danych.Funkcje DDX i DDV próbki przedstawione są odpowiednio dla formantu pola wyboru i formantu pola edycji.
Jeśli użytkownik anuluje modalnego okna dialogowego, OnCancel Członkowskich funkcja kończy się okno dialogowe i DoModal zwraca wartość IDCANCEL.W takim przypadku dane nie są wymieniane między okno dialogowe oraz okno dialogowe obiekt.
Zobacz też
Koncepcje
Okno dialogowe danych programu Exchange i sprawdzania poprawności