Sdílet prostřednictvím


Výměna dat dialogových oken

Pokud používáte DDX mechanismu, nastavíte počáteční hodnoty v dialogovém okně objektu členské proměnné, obvykle ve své OnInitDialog obslužné rutiny nebo konstruktoru dialogové okno.Bezprostředně před zobrazením dialogového okna DDX mechanismu v rámci převede hodnoty členské proměnné na ovládací prvky v dialogovém okně, pokud se vyskytují při samotném se zobrazí dialogové okno v reakci 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ů k členským proměnným po klepnutí na tlačítko OK (nebo vždy, když zavoláte UpdateData členské funkce v argumentu TRUE).Mechanismus ověření dat dialogové okno ověří všechny datové položky, pro které jste zadali ověřovacích pravidel.

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

Výměna dat dialogového okna

Dialogové okno data exchange

UpdateDatafunguje v obou směrech, určený BOOL je předán parametr.Provést výměnu, UpdateData nastaví CDataExchange objektu a volání přepsat vaše třída dialogu o CDialogna DoDataExchange členské funkce.DoDataExchangepřebírá argument typu CDataExchange.CDataExchange Objekt je předán do UpdateData představuje kontext definující směr výměny těchto informací serveru Exchange.

Při přepsání vy (nebo Průvodce kódem) DoDataExchange, určit volání funkce DDX za datový člen (řízení).Každá funkce DDX ví jak pro výměnu dat v obou směrech podle kontextu poskytnutých CDataExchange předán argument v DoDataExchange ve UpdateData.

Knihovna MFC poskytuje mnoho funkce DDX pro různé druhy exchange.Následující příklad ukazuje DoDataExchange přepsání, které dva DDX funkcí a funkcí DDV se nazývají:

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_ řádky jsou mapování dat.Ukázka DDX DDV funkce a zobrazí se 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 tomto případě neprobíhá výměna dat. mezi dialogové okno a dialogové okno objektu.

Viz také

Koncepty

Výměna a ověření dat dialogových oken

Životní cyklus dialogového okna

Ověřování dat dialogového okna