Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mendukung rutinitas pertukaran data dialog (DDX) dan validasi data dialog (DDV) yang digunakan oleh kelas Microsoft Foundation.
Sintaks
class CDataExchange
Anggota
Konstruktor Publik
| Nama | Deskripsi |
|---|---|
| CDataExchange::CDataExchange | Membuat CDataExchange objek. |
Metode Publik
| Nama | Deskripsi |
|---|---|
| CDataExchange::Fail | Dipanggil ketika validasi gagal. Mengatur ulang fokus ke kontrol sebelumnya dan melemparkan pengecualian. |
| CDataExchange::P repareCtrl | Menyiapkan kontrol yang ditentukan untuk pertukaran data atau validasi. Gunakan untuk kontrol nonedit. |
| CDataExchange::P repareEditCtrl | Menyiapkan kontrol edit yang ditentukan untuk pertukaran data atau validasi. |
| CDataExchange::P repareOleCtrl | Menyiapkan kontrol OLE yang ditentukan untuk pertukaran data atau validasi. Gunakan untuk kontrol nonedit. |
Anggota Data Publik
| Nama | Deskripsi |
|---|---|
| CDataExchange::m_bSaveAndValidate | Bendera untuk arah DDX dan DDV. |
| CDataExchange::m_pDlgWnd | Kotak dialog atau jendela tempat pertukaran data berlangsung. |
Keterangan
CDataExchange tidak memiliki kelas dasar.
Gunakan kelas ini jika Anda menulis rutinitas pertukaran data untuk jenis atau kontrol data kustom, atau jika Anda menulis rutinitas validasi data Anda sendiri. Untuk informasi selengkapnya tentang menulis rutinitas DDX dan DDV Anda sendiri, lihat Catatan Teknis 26. Untuk gambaran umum DDX dan DDV, lihat Dialog Pertukaran Data dan Validasi dan Kotak Dialog.
Objek CDataExchange menyediakan informasi konteks yang diperlukan agar DDX dan DDV dapat berlangsung. Bendera m_bSaveAndValidate FALSE saat DDX digunakan untuk mengisi nilai awal kontrol dialog dari anggota data. Bendera m_bSaveAndValidate TRUE ketika DDX digunakan untuk mengatur nilai kontrol dialog saat ini ke anggota data dan kapan DDV digunakan untuk memvalidasi nilai data. Jika validasi DDV gagal, prosedur DDV akan menampilkan kotak pesan yang menjelaskan kesalahan input. Prosedur DDV kemudian akan memanggil Fail untuk mengatur ulang fokus ke kontrol yang menyinggung dan melemparkan pengecualian untuk menghentikan proses validasi.
Hierarki Warisan
CDataExchange
Persyaratan
Header: afxwin.h
CDataExchange::CDataExchange
Panggil fungsi anggota ini untuk membuat CDataExchange objek.
CDataExchange(
CWnd* pDlgWnd,
BOOL bSaveAndValidate);
Parameter
pDlgWnd
Penunjuk ke jendela induk yang berisi kontrol. Biasanya ini adalah objek turunan CDialog.
bSaveAndValidate
Jika TRUE, objek ini memvalidasi data, lalu menulis data dari kontrol ke anggota. Jika FALSE, objek ini akan memindahkan data dari anggota ke kontrol.
Keterangan
CDataExchange Buat objek sendiri untuk menyimpan informasi tambahan di objek pertukaran data untuk diteruskan ke fungsi anggota CWnd::D oDataExchange jendela Anda.
Contoh
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
Kerangka kerja memanggil fungsi anggota ini ketika operasi validasi data dialog (DDV) gagal.
void Fail();
Keterangan
Fail memulihkan fokus dan pilihan ke kontrol yang validasinya gagal (jika ada kontrol untuk dipulihkan). Fail kemudian melempar pengecualian jenis CUserException untuk menghentikan proses validasi. Pengecualian menyebabkan kotak pesan yang menjelaskan kesalahan ditampilkan. Setelah validasi DDV gagal, pengguna dapat memasukkan kembali data dalam kontrol yang menyinggung.
Implementor rutinitas DDV kustom dapat memanggil Fail dari rutinitas mereka ketika validasi gagal.
Untuk informasi selengkapnya tentang menulis rutinitas DDX dan DDV Anda sendiri, lihat Catatan Teknis 26. Untuk gambaran umum DDX dan DDV, lihat Dialog Pertukaran Data dan Validasi dan Topik Kotak Dialog.
CDataExchange::m_bSaveAndValidate
Bendera ini menunjukkan arah operasi pertukaran data dialog (DDX).
BOOL m_bSaveAndValidate;
Keterangan
Bendera bukan nol jika CDataExchange objek digunakan untuk memindahkan data dari kontrol dialog ke anggota data kelas dialog setelah pengguna mengedit kontrol. Bendera adalah nol jika objek digunakan untuk menginisialisasi kontrol dialog dari anggota data kelas dialog.
Bendera juga bukan nol selama validasi data dialog (DDV).
Untuk informasi selengkapnya tentang menulis rutinitas DDX dan DDV Anda sendiri, lihat Catatan Teknis 26. Untuk gambaran umum DDX dan DDV, lihat Dialog Pertukaran Data dan Validasi dan Topik Kotak Dialog.
CDataExchange::m_pDlgWnd
Berisi penunjuk ke objek CWnd tempat pertukaran data dialog (DDX) atau validasi (DDV) berlangsung.
CWnd* m_pDlgWnd;
Keterangan
Objek ini biasanya merupakan objek CDialog . Implementor rutinitas DDX atau DDV kustom dapat menggunakan penunjuk ini untuk mendapatkan akses ke jendela dialog yang berisi kontrol tempat mereka beroperasi.
Untuk informasi selengkapnya tentang menulis rutinitas DDX dan DDV Anda sendiri, lihat Catatan Teknis 26. Untuk gambaran umum DDX dan DDV, lihat Dialog Pertukaran Data dan Validasi dan Topik Kotak Dialog.
CDataExchange::P repareCtrl
Kerangka kerja memanggil fungsi anggota ini untuk menyiapkan kontrol yang ditentukan untuk pertukaran data dialog (DDX) dan validasi (DDV).
HWND PrepareCtrl(int nIDC);
Parameter
nIDC
ID kontrol yang akan disiapkan untuk DDX atau DDV.
Tampilkan Nilai
HWND kontrol yang disiapkan untuk DDX atau DDV.
Keterangan
Gunakan PrepareEditCtrl sebagai gantinya untuk kontrol edit; gunakan fungsi anggota ini untuk semua kontrol lainnya.
Persiapan terdiri dari menyimpan HWND kontrol di CDataExchange kelas . Kerangka kerja menggunakan handel ini untuk memulihkan fokus ke kontrol yang sebelumnya difokuskan jika terjadi kegagalan DDX atau DDV.
Implementor rutinitas DDX atau DDV kustom harus memanggil PrepareCtrl semua kontrol non-edit yang mereka bertukar data melalui DDX atau memvalidasi data melalui DDV.
Untuk informasi selengkapnya tentang menulis rutinitas DDX dan DDV Anda sendiri, lihat Catatan Teknis 26. Untuk gambaran umum DDX dan DDV, lihat Dialog Pertukaran Data dan Validasi dan Topik Kotak Dialog.
CDataExchange::P repareEditCtrl
Kerangka kerja memanggil fungsi anggota ini untuk menyiapkan kontrol edit yang ditentukan untuk pertukaran data dialog (DDX) dan validasi (DDV).
HWND PrepareEditCtrl(int nIDC);
Parameter
nIDC
ID kontrol edit yang akan disiapkan untuk DDX atau DDV.
Tampilkan Nilai
HWND kontrol edit yang disiapkan untuk DDX atau DDV.
Keterangan
Gunakan PrepareCtrl sebagai gantinya untuk semua kontrol non-edit.
Persiapan terdiri dari dua hal. Pertama, PrepareEditCtrl menyimpan HWND kontrol di CDataExchange kelas . Kerangka kerja menggunakan handel ini untuk memulihkan fokus ke kontrol yang sebelumnya difokuskan jika terjadi kegagalan DDX atau DDV. Kedua, PrepareEditCtrl mengatur bendera di CDataExchange kelas untuk menunjukkan bahwa kontrol yang datanya sedang ditukar atau divalidasi adalah kontrol edit.
Implementor rutinitas DDX atau DDV kustom harus memanggil PrepareEditCtrl semua kontrol edit yang datanya bertukar melalui DDX atau memvalidasi data melalui DDV.
Untuk informasi selengkapnya tentang menulis rutinitas DDX dan DDV Anda sendiri, lihat Catatan Teknis 26. Untuk gambaran umum DDX dan DDV, lihat Dialog Pertukaran Data dan Validasi dan Topik Kotak Dialog.
CDataExchange::P repareOleCtrl
Kerangka kerja memanggil fungsi anggota ini untuk menyiapkan kontrol OLE yang ditentukan untuk pertukaran data dialog (DDX) dan validasi (DDV).
COleControlSite* PrepareOleCtrl(int nIDC);
Parameter
nIDC
ID kontrol OLE yang akan disiapkan untuk DDX atau DDV.
Tampilkan Nilai
Penunjuk ke situs kontrol OLE.
Keterangan
Gunakan PrepareEditCtrl sebagai gantinya untuk kontrol edit atau PrepareCtrl untuk semua kontrol non-OLE lainnya.
Implementor rutinitas DDX atau DDV kustom harus memanggil PrepareOleCtrl semua kontrol OLE tempat mereka bertukar data melalui DDX atau memvalidasi data melalui DDV.
Untuk informasi selengkapnya tentang menulis rutinitas DDX dan DDV Anda sendiri, lihat Catatan Teknis 26. Untuk gambaran umum DDX dan DDV, lihat Dialog Pertukaran Data dan Validasi dan Topik Kotak Dialog.
Lihat juga
VIEWEX Sampel MFC
Bagan Hierarki
CWnd::D oDataExchange
CWnd::UpdateData