Bagikan melalui


Mengalokasikan Sumber Daya GDI

Artikel ini menjelaskan cara mengalokasikan dan membatalkan alokasi objek antarmuka perangkat grafis (GDI) Windows yang diperlukan untuk pencetakan.

Catatan

Untuk informasi selengkapnya, lihat dokumentasi GDI+ SDK.

Misalkan Anda perlu menggunakan font, pena, atau objek GDI tertentu untuk pencetakan, tetapi tidak untuk tampilan layar. Karena memori yang mereka butuhkan, tidak efisien untuk mengalokasikan objek ini ketika aplikasi dimulai. Ketika aplikasi tidak mencetak dokumen, memori tersebut mungkin diperlukan untuk tujuan lain. Lebih baik mengalokasikannya saat pencetakan dimulai, lalu menghapusnya saat pencetakan berakhir.

Untuk mengalokasikan objek GDI ini, ambil alih fungsi anggota OnBeginPrinting . Fungsi ini sangat cocok untuk tujuan ini karena dua alasan: kerangka kerja memanggil fungsi ini sekali di awal setiap pekerjaan cetak dan, tidak seperti OnPreparePrinting, fungsi ini memiliki akses ke objek CDC yang mewakili driver perangkat printer. Anda dapat menyimpan objek ini untuk digunakan selama pekerjaan cetak dengan menentukan variabel anggota di kelas tampilan Anda yang menunjuk ke objek GDI (misalnya, CFont * anggota, dan sebagainya).

Untuk menggunakan objek GDI yang telah Anda buat, pilih objek tersebut ke dalam konteks perangkat printer dalam fungsi anggota OnPrint . Jika Anda memerlukan objek GDI yang berbeda untuk halaman dokumen yang berbeda, Anda dapat memeriksa m_nCurPage anggota struktur CPrintInfo dan memilih objek GDI yang sesuai. Jika Anda memerlukan objek GDI untuk beberapa halaman berturut-turut, Windows mengharuskan Anda memilihnya ke dalam konteks perangkat setiap kali OnPrint dipanggil.

Untuk membatalkan alokasi objek GDI ini, ambil alih fungsi anggota OnEndPrinting . Kerangka kerja memanggil fungsi ini di akhir setiap pekerjaan cetak, memberi Anda kesempatan untuk membatalkan alokasi objek GDI khusus pencetakan sebelum aplikasi kembali ke tugas lain.

Baca juga

Percetakan
Cara Pencetakan Default Selesai