Aracılığıyla paylaş


CDataExchange Sınıfı

Microsoft Foundation sınıfları tarafından kullanılan iletişim kutusu veri değişimi (DDX) ve iletişim kutusu veri doğrulama (DDV) yordamlarını destekler.

Sözdizimi

class CDataExchange

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CDataExchange::CDataExchange Bir CDataExchange nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
CDataExchange::Fail Doğrulama başarısız olduğunda çağrılır. Odağı önceki denetime sıfırlar ve bir özel durum oluşturur.
CDataExchange::P repareCtrl Belirtilen denetimi veri değişimi veya doğrulama için hazırlar. Düzenleme dışı denetimler için kullanın.
CDataExchange::P repareEditCtrl Belirtilen düzenleme denetimini veri değişimi veya doğrulama için hazırlar.
CDataExchange::P repareOleCtrl Belirtilen OLE denetimini veri değişimi veya doğrulama için hazırlar. Düzenleme dışı denetimler için kullanın.

Ortak Veri Üyeleri

Veri Akışı Adı Açıklama
CDataExchange::m_bSaveAndValidate DDX ve DDV yönü için bayrak.
CDataExchange::m_pDlgWnd Veri değişiminin gerçekleştiği iletişim kutusu veya pencere.

Açıklamalar

CDataExchange temel sınıfına sahip değildir.

Özel veri türleri veya denetimleri için veri değişimi yordamları yazıyorsanız veya kendi veri doğrulama yordamlarınızı yazıyorsanız bu sınıfı kullanın. Kendi DDX ve DDV yordamlarınızı yazma hakkında daha fazla bilgi için bkz . Teknik Not 26. DDX ve DDV'ye genel bakış için bkz . İletişim Kutusu Veri Değişimi ve Doğrulama ve İletişim Kutuları.

Nesnesi CDataExchange , DDX ve DDV'nin gerçekleşmesi için gereken bağlam bilgilerini sağlar. Veri üyelerinden gelen iletişim kutusu denetimlerinin ilk değerlerini doldurmak için DDX kullanıldığında m_bSaveAndValidate bayrağı YANLIŞ olur. İletişim kutusu denetimlerinin geçerli değerlerini veri üyelerine ayarlamak için DDX kullanıldığında ve veri değerlerini doğrulamak için DDV kullanıldığında m_bSaveAndValidate bayrağı TRUE olur. DDV doğrulaması başarısız olursa, DDV yordamı giriş hatasını açıklayan bir ileti kutusu görüntüler. DDV yordamı daha sonra odağı sorunlu denetime sıfırlamak için çağırır Fail ve doğrulama işlemini durdurmak için bir özel durum oluşturur.

Devralma Hiyerarşisi

CDataExchange

Gereksinimler

Üst bilgi: afxwin.h

CDataExchange::CDataExchange

Nesne oluşturmak CDataExchange için bu üye işlevini çağır.

CDataExchange(
    CWnd* pDlgWnd,
    BOOL bSaveAndValidate);

Parametreler

pDlgWnd
Denetimi içeren üst pencere işaretçisi. Bu genellikle CDialog tarafından türetilmiş bir nesnedir.

bSaveAndValidate
TRUE ise, bu nesne verileri doğrular ve ardından denetimlerden üyelere veri yazar. YANLIŞ ise, bu nesne verileri üyelerden denetimlere taşır.

Açıklamalar

Pencerenizin CWnd::D oDataExchange üye işlevine geçirmek üzere veri değişimi nesnesinde ek bilgi depolamak için kendiniz bir CDataExchange nesne oluşturma.

Örnek

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

Çerçeve, bir iletişim kutusu veri doğrulama (DDV) işlemi başarısız olduğunda bu üye işlevini çağırır.

void Fail();

Açıklamalar

Fail odağı ve seçimi doğrulama başarısız olan denetime geri yükler (geri yükleyebileceğiniz bir denetim varsa). Failardından doğrulama işlemini durdurmak için CUserException türünde bir özel durum oluşturur. Özel durum, hatanın görüntülenmesini açıklayan bir ileti kutusuna neden olur. DDV doğrulaması başarısız olduktan sonra kullanıcı, sorunlu denetimdeki verileri yeniden ekleyebilir.

Özel DDV yordamlarının uygulayıcıları, bir doğrulama başarısız olduğunda yordamlarından çağrı Fail yapabilir.

Kendi DDX ve DDV yordamlarınızı yazma hakkında daha fazla bilgi için bkz . Teknik Not 26. DDX ve DDV'ye genel bakış için bkz . İletişim Kutusu Veri Değişimi ve Doğrulama ve İletişim Kutusu Konuları.

CDataExchange::m_bSaveAndValidate

Bu bayrak, bir iletişim kutusu veri değişimi (DDX) işleminin yönünü gösterir.

BOOL m_bSaveAndValidate;

Açıklamalar

Kullanıcı denetimleri düzenledikten CDataExchange sonra iletişim kutusu denetimlerindeki verileri iletişim kutusu sınıfı veri üyelerine taşımak için kullanılan nesne sıfır değildir. nesne, iletişim kutusu sınıfı veri üyelerinden iletişim kutusu denetimlerini başlatmak için kullanılıyorsa bayrak sıfırdır.

ayrıca iletişim kutusu veri doğrulaması (DDV) sırasında bayrağı sıfırdan farklı olur.

Kendi DDX ve DDV yordamlarınızı yazma hakkında daha fazla bilgi için bkz . Teknik Not 26. DDX ve DDV'ye genel bakış için bkz . İletişim Kutusu Veri Değişimi ve Doğrulama ve İletişim Kutusu Konuları.

CDataExchange::m_pDlgWnd

İletişim kutusu veri değişiminin (DDX) veya doğrulamanın (DDV) gerçekleştiği CWnd nesnesine yönelik bir işaretçi içerir.

CWnd* m_pDlgWnd;

Açıklamalar

Bu nesne genellikle bir CDialog nesnesidir. Özel DDX veya DDV yordamlarının uygulayıcıları, üzerinde çalıştıkları denetimleri içeren iletişim kutusu penceresine erişim elde etmek için bu işaretçiyi kullanabilir.

Kendi DDX ve DDV yordamlarınızı yazma hakkında daha fazla bilgi için bkz . Teknik Not 26. DDX ve DDV'ye genel bakış için bkz . İletişim Kutusu Veri Değişimi ve Doğrulama ve İletişim Kutusu Konuları.

CDataExchange::P repareCtrl

Çerçeve, belirtilen denetimi iletişim kutusu veri değişimi (DDX) ve doğrulama (DDV) için hazırlamak üzere bu üye işlevini çağırır.

HWND PrepareCtrl(int nIDC);

Parametreler

nIDC
DDX veya DDV için hazırlanacak denetimin kimliği.

Dönüş Değeri

DDX veya DDV için hazırlanan denetimin HWND'si.

Açıklamalar

Düzenleme denetimleri yerine PrepareEditCtrl kullanın; diğer tüm denetimler için bu üye işlevini kullanın.

Hazırlık, denetimin HWND'sinin sınıfında depolanmasından CDataExchange oluşur. Çerçeve, bir DDX veya DDV hatası durumunda odağı önceden odaklanmış denetime geri yüklemek için bu tanıtıcıyı kullanır.

Özel DDX veya DDV yordamlarının uygulayıcıları, DDX aracılığıyla veri alışverişinde bulundukları veya DDV aracılığıyla veri doğruladıkları tüm düzenleme dışı denetimleri çağırmalıdır PrepareCtrl .

Kendi DDX ve DDV yordamlarınızı yazma hakkında daha fazla bilgi için bkz . Teknik Not 26. DDX ve DDV'ye genel bakış için bkz . İletişim Kutusu Veri Değişimi ve Doğrulama ve İletişim Kutusu Konuları.

CDataExchange::P repareEditCtrl

Çerçeve, iletişim kutusu veri değişimi (DDX) ve doğrulama (DDV) için belirtilen düzenleme denetimini hazırlamak üzere bu üye işlevini çağırır.

HWND PrepareEditCtrl(int nIDC);

Parametreler

nIDC
DDX veya DDV için hazırlanacak düzenleme denetiminin kimliği.

Dönüş Değeri

DDX veya DDV için hazırlanan düzenleme denetiminin HWND'si.

Açıklamalar

Düzenlenemeyen tüm denetimler için bunun yerine PrepareCtrl tuşunu kullanın.

Hazırlık iki şeyden oluşur. İlk olarak, PrepareEditCtrl denetimin HWND'sini sınıfında depolar CDataExchange . Çerçeve, bir DDX veya DDV hatası durumunda odağı önceden odaklanmış denetime geri yüklemek için bu tanıtıcıyı kullanır. İkincisi, PrepareEditCtrl verileri değiş tokuş edilen veya doğrulanan denetimin bir düzenleme denetimi olduğunu belirtmek için sınıfında bir bayrak CDataExchange ayarlar.

Özel DDX veya DDV yordamlarının uygulayıcıları, DDX aracılığıyla veri alışverişinde bulundukları veya DDV aracılığıyla veri doğruladıkları tüm düzenleme denetimlerini çağırmalıdır PrepareEditCtrl .

Kendi DDX ve DDV yordamlarınızı yazma hakkında daha fazla bilgi için bkz . Teknik Not 26. DDX ve DDV'ye genel bakış için bkz . İletişim Kutusu Veri Değişimi ve Doğrulama ve İletişim Kutusu Konuları.

CDataExchange::P repareOleCtrl

Çerçeve, belirtilen OLE denetimini iletişim kutusu veri değişimi (DDX) ve doğrulama (DDV) için hazırlamak üzere bu üye işlevini çağırır.

COleControlSite* PrepareOleCtrl(int nIDC);

Parametreler

nIDC
DDX veya DDV için hazırlanacak OLE denetiminin kimliği.

Dönüş Değeri

OLE denetim sitesinin işaretçisi.

Açıklamalar

Düzenleme denetimleri yerine PrepareEditCtrl veya OLE olmayan diğer tüm denetimler için PrepareCtrl kullanın.

Özel DDX veya DDV yordamlarının uygulayıcıları, DDX aracılığıyla veri alışverişinde bulundukları veya DDV aracılığıyla veri doğruladıkları tüm OLE denetimlerini çağırmalıdır PrepareOleCtrl .

Kendi DDX ve DDV yordamlarınızı yazma hakkında daha fazla bilgi için bkz . Teknik Not 26. DDX ve DDV'ye genel bakış için bkz . İletişim Kutusu Veri Değişimi ve Doğrulama ve İletişim Kutusu Konuları.

Ayrıca bkz.

MFC Örneği VIEWEX
Hiyerarşi Grafiği
CWnd::D oDataExchange
CWnd::UpdateData