CDataExchange – třída
Podporuje rutiny pro výměnu dat dialogů (DDX) a ověřování dat dialogových oken (DDV) používané třídami Microsoft Foundation.
Syntaxe
class CDataExchange
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CDataExchange::CDataExchange | CDataExchange Vytvoří objekt. |
Veřejné metody
Název | Popis |
---|---|
CDataExchange::Fail | Volá se, když se ověření nezdaří. Obnoví fokus na předchozí ovládací prvek a vyvolá výjimku. |
CDataExchange::P repareCtrl | Připraví zadaný ovládací prvek pro výměnu nebo ověření dat. Používá se pro ovládací prvky nonedit. |
CDataExchange::P repareEditCtrl | Připraví zadaný ovládací prvek pro úpravy pro výměnu nebo ověření dat. |
CDataExchange::P repareOleCtrl | Připraví zadaný ovládací prvek OLE pro výměnu nebo ověření dat. Používá se pro ovládací prvky nonedit. |
Veřejné datové členy
Název | Popis |
---|---|
CDataExchange::m_bSaveAndValidate | Příznak pro směr DDX a DDV. |
CDataExchange::m_pDlgWnd | Dialogové okno nebo okno, kde probíhá výměna dat. |
Poznámky
CDataExchange
nemá základní třídu.
Tuto třídu použijte, pokud píšete rutiny výměny dat pro vlastní datové typy nebo ovládací prvky nebo pokud píšete vlastní rutiny ověření dat. Další informace o psaní vlastních rutin DDX a DDV naleznete v technické poznámce 26. Přehled DDX a DDV najdete v tématu Výměna dat dialogového okna a ověřování a dialogová okna.
Objekt CDataExchange
poskytuje kontextové informace potřebné k provedení DDX a DDV. Příznak m_bSaveAndValidate je FALSE, když se DDX používá k vyplnění počátečních hodnot ovládacích prvků dialogového okna z datových členů. Příznak m_bSaveAndValidate je TRUE, pokud se DDX používá k nastavení aktuálních hodnot dialogových ovládacích prvků na datové členy a při použití DDV k ověření datových hodnot. Pokud ověření DDV selže, procedura DDV zobrazí okno se zprávou s vysvětlením vstupní chyby. Procedura DDV pak zavolá Fail
resetování fokusu na ovládací prvek pro přesměrování a vyvolá výjimku, která zastaví proces ověření.
Hierarchie dědičnosti
CDataExchange
Požadavky
Hlavička: afxwin.h
CDataExchange::CDataExchange
Voláním této členské funkce vytvoříte CDataExchange
objekt.
CDataExchange(
CWnd* pDlgWnd,
BOOL bSaveAndValidate);
Parametry
pDlgWnd
Ukazatel na nadřazené okno, které obsahuje ovládací prvek. Obvykle se jedná o CDialog odvozený objekt.
bSaveAndValidate
Pokud je pravda, tento objekt ověří data a pak zapíše data z ovládacích prvků do členů. Pokud je hodnota FALSE, přesune tento objekt data ze členů do ovládacích prvků.
Poznámky
CDataExchange
Vytvořte objekt sami pro uložení dalších informací do objektu výměny dat, který se předá do CWnd::D oDataExchange členské funkce vašeho okna.
Příklad
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
Architektura volá tuto členovou funkci, když selže operace ověření dat dialogového okna (DDV).
void Fail();
Poznámky
Fail
obnoví fokus a výběr ovládacího prvku, jehož ověření se nezdařilo (pokud existuje ovládací prvek k obnovení). Fail
poté vyvolá výjimku typu CUserException k zastavení procesu ověřování. Výjimka způsobí, že se zobrazí okno se zprávou s vysvětlením chyby. Po selhání ověřování DDV může uživatel znovu zadat data v ovládacím prvku pro přesměrování.
Implementátory vlastních rutin DDV můžou volat Fail
ze svých rutin v případě selhání ověření.
Další informace o psaní vlastních rutin DDX a DDV naleznete v technické poznámce 26. Přehled DDX a DDV naleznete v tématu Témata výměny dat dialogového okna a ověření a dialogového okna.
CDataExchange::m_bSaveAndValidate
Tento příznak označuje směr operace výměny dat dialogového okna (DDX).
BOOL m_bSaveAndValidate;
Poznámky
Příznak je nenulový, pokud CDataExchange
se objekt používá k přesunutí dat z ovládacích prvků dialogového okna do datových členů třídy dialogového okna po úpravě ovládacích prvků uživatelem. Příznak je nulový, pokud se objekt používá k inicializaci ovládacích prvků dialogového okna z datových členů třídy dialogového okna.
Příznak je také nenulový během ověřování dat dialogového okna (DDV).
Další informace o psaní vlastních rutin DDX a DDV naleznete v technické poznámce 26. Přehled DDX a DDV naleznete v tématu Témata výměny dat dialogového okna a ověření a dialogového okna.
CDataExchange::m_pDlgWnd
Obsahuje ukazatel na objekt CWnd, pro který probíhá výměna dat dialogového okna (DDX) nebo ověřování (DDV).
CWnd* m_pDlgWnd;
Poznámky
Tento objekt je obvykle objekt CDialog . Implementátory vlastních rutin DDX nebo DDV mohou pomocí tohoto ukazatele získat přístup k oknu dialogového okna obsahujícího ovládací prvky, na které pracují.
Další informace o psaní vlastních rutin DDX a DDV naleznete v technické poznámce 26. Přehled DDX a DDV naleznete v tématu Témata výměny dat dialogového okna a ověření a dialogového okna.
CDataExchange::P repareCtrl
Architektura volá tuto člennou funkci k přípravě zadaného ovládacího prvku pro výměnu dat dialogového okna (DDX) a ověřování (DDV).
HWND PrepareCtrl(int nIDC);
Parametry
nIDC
ID ovládacího prvku, který se má připravit pro DDX nebo DDV.
Návratová hodnota
HWND ovládacího prvku, který je připravený pro DDX nebo DDV.
Poznámky
K úpravám ovládacích prvků použijte funkci PrepareEditCtrl . Tuto člennou funkci použijte pro všechny ostatní ovládací prvky.
Příprava se skládá z uložení HWND ovládacího prvku do CDataExchange
třídy. Tato architektura používá tento popisovač k obnovení fokusu na dříve zaměřený ovládací prvek v případě selhání DDX nebo DDV.
Implementátory vlastních rutin DDX nebo DDV by měly volat PrepareCtrl
všechny ovládací prvky bez úprav, pro které vyměňují data prostřednictvím DDX nebo ověřování dat prostřednictvím DDV.
Další informace o psaní vlastních rutin DDX a DDV naleznete v technické poznámce 26. Přehled DDX a DDV naleznete v tématu Témata výměny dat dialogového okna a ověření a dialogového okna.
CDataExchange::P repareEditCtrl
Architektura volá tuto členovu funkci k přípravě zadaného ovládacího prvku pro úpravy pro výměnu dat dialogového okna (DDX) a ověřování (DDV).
HWND PrepareEditCtrl(int nIDC);
Parametry
nIDC
ID ovládacího prvku pro úpravy, který se má připravit pro DDX nebo DDV.
Návratová hodnota
HWND ovládacího prvku úprav, který je připravený pro DDX nebo DDV.
Poznámky
Místo toho použijte prepareCtrl pro všechny ovládací prvky bez úprav.
Příprava se skládá ze dvou věcí. PrepareEditCtrl
Nejprve uloží HWND ovládacího prvku do CDataExchange
třídy. Tato architektura používá tento popisovač k obnovení fokusu na dříve zaměřený ovládací prvek v případě selhání DDX nebo DDV. Za druhé nastaví příznak třídyCDataExchange
, který označuje, PrepareEditCtrl
že ovládací prvek, jehož data se vyměňují nebo ověřují, je ovládací prvek pro úpravy.
Implementátory vlastních rutin DDX nebo DDV by měly volat PrepareEditCtrl
všechny ovládací prvky úprav, pro které vyměňují data prostřednictvím DDX nebo ověřování dat prostřednictvím DDV.
Další informace o psaní vlastních rutin DDX a DDV naleznete v technické poznámce 26. Přehled DDX a DDV naleznete v tématu Témata výměny dat dialogového okna a ověření a dialogového okna.
CDataExchange::P repareOleCtrl
Architektura volá tuto členovu funkci k přípravě zadaného ovládacího prvku OLE pro výměnu dat dialogového okna (DDX) a ověření (DDV).
COleControlSite* PrepareOleCtrl(int nIDC);
Parametry
nIDC
ID ovládacího prvku OLE, který se má připravit pro DDX nebo DDV.
Návratová hodnota
Ukazatel na lokalitu ovládacího prvku OLE.
Poznámky
Místo toho použijte PrepareEditCtrl pro úpravy ovládacích prvků nebo PrepareCtrl pro všechny ostatní ovládací prvky mimo OLE.
Implementátory vlastních rutin DDX nebo DDV by měly volat PrepareOleCtrl
všechny ovládací prvky OLE, pro které vyměňují data prostřednictvím DDX nebo ověřování dat prostřednictvím DDV.
Další informace o psaní vlastních rutin DDX a DDV naleznete v technické poznámce 26. Přehled DDX a DDV naleznete v tématu Témata výměny dat dialogového okna a ověření a dialogového okna.
Viz také
MFC – ukázka VIEWEX
Graf hierarchie
CWnd::D oDataExchange
CWnd::UpdateData