Kelas CMetaFileDC
Menerapkan metafile Windows, yang berisi urutan perintah antarmuka perangkat grafis (GDI) yang dapat Anda putar ulang untuk membuat gambar atau teks yang diinginkan.
Sintaks
class CMetaFileDC : public CDC
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CMetaFileDC::CMetaFileDC | Membuat CMetaFileDC objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CMetaFileDC::Close | Menutup konteks perangkat dan membuat handel metafile. |
CMetaFileDC::CloseEnhanced | Menutup konteks perangkat metafile yang disempurnakan dan membuat handel metafile yang disempurnakan. |
CMetaFileDC::Create | Membuat konteks perangkat metafile Windows dan melampirkannya ke CMetaFileDC objek. |
CMetaFileDC::CreateEnhanced | Membuat konteks perangkat metafile untuk metafile format yang disempurnakan. |
Keterangan
Untuk menerapkan metafile Windows, pertama-tama buat CMetaFileDC
objek. CMetaFileDC
Panggil konstruktor, lalu panggil fungsi Buat anggota, yang membuat konteks perangkat metafile Windows dan melampirkannya ke CMetaFileDC
objek.
Selanjutnya kirim CMetaFileDC
objek urutan perintah CDC GDI yang ingin Anda putar ulang. Hanya perintah GDI yang membuat output, seperti MoveTo
dan LineTo
, yang dapat digunakan.
Setelah Anda mengirim perintah yang diinginkan ke metafile, panggil Close
fungsi anggota, yang menutup konteks perangkat metafile dan mengembalikan handel metafile. Kemudian buang CMetaFileDC
objek.
CDC::P layMetaFile kemudian dapat menggunakan handel metafile untuk memutar metafile berulang kali. Metafile juga dapat dimanipulasi oleh fungsi Windows seperti CopyMetaFile, yang menyalin metafile ke disk.
Ketika metafile tidak lagi diperlukan, hapus dari memori dengan fungsi Windows DeleteMetaFile .
Anda juga dapat menerapkan CMetaFileDC
objek sehingga dapat menangani panggilan output dan atribut panggilan GDI seperti GetTextExtent
. Metafile semacam itu lebih fleksibel dan dapat lebih mudah menggunakan kembali kode GDI umum, yang sering terdiri dari campuran panggilan output dan atribut. Kelas mewarisi CMetaFileDC
dua konteks perangkat, m_hDC
dan m_hAttribDC
, dari CDC. Konteks m_hDC
perangkat menangani semua panggilan output CDC GDI dan m_hAttribDC
konteks perangkat menangani semua panggilan atribut CDC GDI. Biasanya, kedua konteks perangkat ini merujuk ke perangkat yang sama. Dalam kasus CMetaFileDC
, atribut DC diatur ke NULL secara default.
Buat konteks perangkat kedua yang menunjuk ke layar, printer, atau perangkat selain metafile, lalu panggil SetAttribDC
fungsi anggota untuk mengaitkan konteks perangkat baru dengan m_hAttribDC
. Panggilan GDI untuk informasi sekarang akan diarahkan ke yang baru m_hAttribDC
. Panggilan GDI output akan masuk ke m_hDC
, yang mewakili metafile.
Untuk informasi selengkapnya tentang CMetaFileDC
, lihat Konteks Perangkat.
Hierarki Warisan
CMetaFileDC
Persyaratan
Header: afxext.h
CMetaFileDC::Close
Menutup konteks perangkat metafile dan membuat handel metafile Windows yang dapat digunakan untuk memutar metafile dengan menggunakan fungsi anggota CDC::P layMetaFile .
HMETAFILE Close();
Tampilkan Nilai
HMETAFILE yang valid jika fungsi berhasil; jika tidak, NULL.
Keterangan
Handel metafile Windows juga dapat digunakan untuk memanipulasi metafile dengan fungsi Windows seperti CopyMetaFile.
Hapus metafile setelah digunakan dengan memanggil fungsi Windows DeleteMetaFile .
CMetaFileDC::CloseEnhanced
Menutup konteks perangkat metafile yang disempurnakan dan mengembalikan handel yang mengidentifikasi metafile format yang ditingkatkan.
HENHMETAFILE CloseEnhanced();
Tampilkan Nilai
Handel metafile yang ditingkatkan, jika berhasil; jika tidak, NULL.
Keterangan
Aplikasi dapat menggunakan handel metafile yang disempurnakan yang dikembalikan oleh fungsi ini untuk melakukan tugas-tugas berikut:
Menampilkan gambar yang disimpan dalam metafile yang ditingkatkan
Membuat salinan metafile yang ditingkatkan
Menghitung, mengedit, atau menyalin rekaman individual dalam metafile yang disempurnakan
Mengambil deskripsi opsional konten metafile dari header metafile yang disempurnakan
Mengambil salinan header metafile yang disempurnakan
Mengambil salinan biner metafile yang ditingkatkan
Menghitung warna dalam palet opsional
Mengonversi metafile format yang disempurnakan menjadi metafile format Windows
Ketika aplikasi tidak lagi membutuhkan handel metafile yang ditingkatkan, aplikasi harus melepaskan handel dengan memanggil fungsi Win32 DeleteEnhMetaFile
.
CMetaFileDC::CMetaFileDC
Buat CMetaFileDC
objek dalam dua langkah.
CMetaFileDC();
Keterangan
Pertama, panggil CMetaFileDC
, lalu panggil Create
, yang membuat konteks perangkat metafile Windows dan melampirkannya ke CMetaFileDC
objek.
CMetaFileDC::Create
Buat CMetaFileDC
objek dalam dua langkah.
BOOL Create(LPCTSTR lpszFilename = NULL);
Parameter
lpszFilename
Menunjuk ke string karakter yang dihentikan null. Menentukan nama file metafile yang akan dibuat. Jika lpszFilename adalah NULL, metafile dalam memori baru akan dibuat.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Pertama, panggil konstruktor CMetaFileDC
, lalu panggil Create
, yang membuat konteks perangkat metafile Windows dan melampirkannya ke CMetaFileDC
objek.
CMetaFileDC::CreateEnhanced
Membuat konteks perangkat untuk metafile format yang disempurnakan.
BOOL CreateEnhanced(
CDC* pDCRef,
LPCTSTR lpszFileName,
LPCRECT lpBounds,
LPCTSTR lpszDescription);
Parameter
pDCRef
Mengidentifikasi perangkat referensi untuk metafile yang ditingkatkan.
lpszFileName
Menunjuk ke string karakter yang dihentikan null. Menentukan nama file untuk metafile yang ditingkatkan yang akan dibuat. Jika parameter ini NULL, metafile yang ditingkatkan berbasis memori dan kontennya hilang ketika objek dihancurkan atau ketika fungsi Win32 DeleteEnhMetaFile
dipanggil.
lpBounds
Menunjuk ke struktur data RECT atau objek CRect yang menentukan dimensi dalam unit HIMETRIC (dalam kenaikan .01-milimeter) gambar yang akan disimpan dalam metafile yang ditingkatkan.
lpszDescription
Menunjuk ke string nol yang dihentikan yang menentukan nama aplikasi yang membuat gambar, serta judul gambar.
Tampilkan Nilai
Handel konteks perangkat untuk metafile yang ditingkatkan, jika berhasil; jika tidak, NULL.
Keterangan
DC ini dapat digunakan untuk menyimpan gambar independen perangkat.
Windows menggunakan perangkat referensi yang diidentifikasi oleh parameter pDCRef untuk merekam resolusi dan unit perangkat tempat gambar awalnya muncul. Jika parameter pDCRef adalah NULL, parameter tersebut menggunakan perangkat tampilan saat ini untuk referensi.
Anggota kiri dan atas struktur data yang RECT
ditunjukkan oleh parameter lpBounds masing-masing harus lebih kecil dari anggota kanan dan bawah. Titik di sepanjang tepi persegi disertakan dalam gambar. Jika lpBounds adalah NULL, antarmuka perangkat grafis (GDI) menghitung dimensi persegi terkecil yang dapat mengapit gambar yang digambar oleh aplikasi. Parameter lpBounds harus disediakan jika memungkinkan.
String yang diarahkan oleh parameter lpszDescription harus berisi karakter null antara nama aplikasi dan nama gambar dan harus dihentikan dengan dua karakter null —misalnya, "XYZ Graphics Editor\0Bald Eagle\0\0," di mana \0 mewakili karakter null. Jika lpszDescription adalah NULL, tidak ada entri yang sesuai di header enhanced-metafile.
Aplikasi menggunakan DC yang dibuat oleh fungsi ini untuk menyimpan gambar grafis dalam metafile yang ditingkatkan. Handel yang mengidentifikasi DC ini dapat diteruskan ke fungsi GDI apa pun.
Setelah aplikasi menyimpan gambar dalam metafile yang ditingkatkan, aplikasi dapat menampilkan gambar pada perangkat output apa pun dengan memanggil CDC::PlayMetaFile
fungsi . Saat menampilkan gambar, Windows menggunakan persegi yang ditujukkan oleh parameter lpBounds dan data resolusi dari perangkat referensi untuk memosisikan dan menskalakan gambar. Konteks perangkat yang dikembalikan oleh fungsi ini berisi atribut default yang sama yang terkait dengan DC baru.
Aplikasi harus menggunakan fungsi Win32 GetWinMetaFileBits
untuk mengonversi metafile yang ditingkatkan ke format metafile Windows yang lebih lama.
Nama file untuk metafile yang ditingkatkan harus menggunakan . Ekstensi EMF.