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.
Berisi informasi yang digunakan untuk penyajian ke berbagai target, seperti printer, metafile, atau kontrol ActiveX.
Sintaks
struct ATL_DRAWINFO {
UINT cbSize;
DWORD dwDrawAspect;
LONG lindex;
DVTARGETDEVICE* ptd;
HDC hicTargetDev;
HDC hdcDraw;
LPCRECTL prcBounds;
LPCRECTL prcWBounds;
BOOL bOptimize;
BOOL bZoomed;
BOOL bRectInHimetric;
SIZEL ZoomNum;
SIZEL ZoomDen;
};
Anggota
cbSize
Ukuran struktur, dalam byte.
dwDrawAspect
Menentukan bagaimana target akan diwakili. Representasi dapat menyertakan konten, ikon, gambar mini, atau dokumen cetak. Untuk daftar nilai yang mungkin, lihat DVASPECT dan DVASPECT2.
lindex
Bagian dari target yang menarik untuk operasi undian. Interpretasinya bervariasi tergantung pada nilai dalam dwDrawAspect
anggota.
ptd
Pointer ke struktur DVTARGETDEVICE yang memungkinkan pengoptimalan gambar tergantung pada aspek yang ditentukan. Perhatikan bahwa objek dan kontainer yang lebih baru yang mendukung antarmuka gambar yang dioptimalkan juga mendukung anggota ini. Objek dan kontainer lama yang tidak mendukung antarmuka gambar yang dioptimalkan selalu menentukan NULL untuk anggota ini.
hicTargetDev
Konteks informasi untuk perangkat target yang menunjuk ke ptd
tempat objek dapat mengekstrak metrik perangkat dan menguji kemampuan perangkat. Jika ptd
NULL, objek harus mengabaikan nilai dalam hicTargetDev
anggota.
hdcDraw
Konteks perangkat yang akan digambar. Untuk objek tanpa jendela, hdcDraw
anggota berada dalam MM_TEXT
mode pemetaan dengan koordinat logisnya yang cocok dengan koordinat klien dari jendela yang berisi. Selain itu, konteks perangkat harus dalam keadaan yang sama dengan yang biasanya diteruskan oleh pesan WM_PAINT
.
prcBounds
Penunjuk ke struktur RECTL yang menentukan persegi dan hdcDraw
tempat objek harus digambar. Anggota ini mengontrol penempatan dan peregangan objek. Anggota ini harus NULL untuk menggambar objek aktif tanpa jendela di tempat. Dalam setiap situasi lainnya, NULL bukan nilai hukum dan harus mengakibatkan E_INVALIDARG
kode kesalahan. Jika kontainer meneruskan nilai non-NULL ke objek tanpa jendela, objek harus merender aspek yang diminta ke dalam konteks perangkat dan persegi panjang yang ditentukan. Kontainer dapat meminta ini dari objek tanpa jendela untuk merender tampilan objek kedua yang tidak aktif atau untuk mencetak objek.
prcWBounds
Jika hdcDraw
adalah konteks perangkat metafile (lihat GetDeviceCaps di Windows SDK), ini adalah penunjuk ke struktur yang RECTL
menentukan persegi panjang pembatas dalam metafile yang mendasarinya. Struktur persegi panjang berisi tingkat jendela dan asal jendela. Nilai-nilai ini berguna untuk menggambar metafiles. Persegi panjang yang ditunjukkan oleh prcBounds
bersarang di dalam persegi panjang ini prcWBounds
; persegi panjang berada di ruang koordinat yang sama.
bOptimize
Bukan nol jika gambar kontrol akan dioptimalkan, jika tidak, 0. Jika gambar dioptimalkan, status konteks perangkat akan dipulihkan secara otomatis saat Anda selesai merender.
bZoomed
Bukan nol jika target memiliki faktor zoom, jika tidak, 0. Faktor zoom disimpan di ZoomNum
.
bRectInHimetric
Bukan nol jika dimensi prcBounds
berada di HIMETRIC, jika tidak, 0.
ZoomNum
Lebar dan tinggi persegi panjang tempat objek dirender. Faktor zoom di sepanjang sumbu x (proporsi ukuran alami objek hingga batasnya saat ini) dari target adalah nilai ZoomNum.cx
dibagi dengan nilai ZoomDen.cx
. Faktor zoom di sepanjang sumbu y dicapai dengan cara yang sama.
ZoomDen
Lebar dan tinggi target yang sebenarnya.
Keterangan
Penggunaan umum struktur ini adalah pengambilan informasi selama penyajian objek target. Misalnya, Anda dapat mengambil nilai dari ATL_DRAWINFO di dalam kelebihan beban CComControlBase::OnDrawAdvanced.
Struktur ini menyimpan informasi terkait yang digunakan untuk merender tampilan objek untuk perangkat target. Informasi yang diberikan dapat digunakan dalam menggambar ke layar, printer, atau bahkan metafile.
Persyaratan
Header: atlctl.h
Lihat juga
Kelas dan struktur
IViewObject::D raw
CComControlBase::OnDrawAdvanced