Kelas CDataExchange
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.
Baca juga
VIEWEX Sampel MFC
Bagan Hierarki
CWnd::D oDataExchange
CWnd::UpdateData
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk