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). Fail
ardı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