Sdílet prostřednictvím


Výměna dat dialogové okno

Pokud mechanismus DDX nastavíte počáteční hodnoty v dialogovém okně objektu členské proměnné, obvykle v vaše OnInitDialog zpracování nebo konstruktoru dialogové okno.Bezprostředně před zobrazením dialogového okna, rámci mechanismu DDX převede hodnoty proměnné členů ovládací prvky v dialogovém okně, kde se zobrazí při zobrazení dialogového okna Vlastní odpověď na DoModal nebo vytvořit.Výchozí implementace OnInitDialog v CDialog volání UpdateData členské funkce třídy CWnd inicializovat ovládací prvky v dialogovém okně.

Stejný mechanismus převede hodnoty z ovládacích prvků na proměnné členů po klepnutí na tlačítko OK (nebo při každém volání UpdateData členské funkce v argumentu TRUE).Mechanismus ověření dat dialogové okno ověří všechny datové položky, pro které zadaný ověřovací pravidla.

Následující obrázek znázorňuje výměnu dat v dialogovém okně.

Výměna dat dialogové okno

Výměna dat dialogového okna

UpdateDatafunguje v obou směrech, určený BOOL předaný parametru.Provádět výměnu, UpdateData nastaví CDataExchange objektu a volání třída dialog přepsat z CDialogna DoDataExchange členské funkce.DoDataExchangeargument typu trvá CDataExchange.CDataExchange Předán objekt UpdateData představuje kontextu exchange, definování směr výměny informací.

Při přepsání vy (nebo kód průvodce) DoDataExchange, určit volání funkce DDX za datový člen (řízení).Funkce DDX nepřinutí výměnu dat v obou směrech na základě kontextu poskytnutých CDataExchange předán argument vaše DoDataExchange podle UpdateData.

MFC nabízí mnoho funkcí DDX pro různé druhy exchange.Následující příklad ukazuje DoDataExchange které dvě DDX funkce a funkce DDV se nazývají přepsat:

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_ a DDV_ jsou řádky dat mapy.Vzorek DDX a DDV funkce zobrazeny jsou pro ovládací prvek Zaškrtávací políčko a ovládací prvek textové pole.

Pokud uživatel zruší modálním dialogovým oknem OnCancel členské funkce ukončí dialogové okno a DoModal vrátí hodnotu IDCANCEL.V takovém případě neprobíhá výměna dat. mezi dialogové okno a dialogové okno objekt.

Viz také

Koncepty

Data v dialogovém okně Exchange a ověřování

Životní cyklus dialogové okno

Dialogové okno ověření dat