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.
Lembar properti Print adalah antarmuka pengguna standar yang memungkinkan pengguna menentukan properti pekerjaan cetak tertentu. Lembar properti terdiri dari sekumpulan halaman properti yang bervariasi menurut printer atau aplikasi. Ke subset halaman properti Windows standar, beberapa printer mungkin menambahkan halaman properti khusus driver dan beberapa aplikasi mungkin menambahkan halaman properti khusus aplikasi.
Untuk membuat dan menampilkan lembar properti Cetak, inisialisasi struktur PRINTDLGEX dan serahkan struktur tersebut ke fungsi PrintDlgEx.
Ilustrasi berikut menunjukkan lembar properti Cetak yang umum.
Sebagian besar anggota strukturPRINTDLGEX identik dengan strukturPRINTDLG. Untuk deskripsi tentang cara menggunakan anggota struktur umum untuk berinteraksi dengan kontrol kotak dialog, lihat Cetak Kotak Dialog. Sisa topik ini menjelaskan fitur lembar properti Print yang berbeda dari kotak dialog Print.
Anda dapat menyesuaikan lembar properti Cetak dengan menentukan templat kotak dialog kustom untuk bagian bawah halaman Umum dan dengan menentukan halaman properti tambahan untuk mengikuti halaman Umum. Untuk informasi selengkapnya, lihat Menyesuaikan Lembar Properti Cetak.
Anda dapat menerapkan objek panggilan balik untuk menerima pemberitahuan dan pesan dari fungsiPrintDlgEx saat lembar properti ditampilkan. Aplikasi yang menyediakan templat kustom atau halaman tambahan menggunakan objek panggilan balik untuk berkomunikasi dengan lembar properti. Untuk informasi selengkapnya, lihat Objek Panggilan Balik untuk Lembar Properti Cetak.
Lembar properti Cetak mendukung penentuan beberapa rentang halaman yang tidak bersebelahan untuk dicetak. lpPageRanges anggota struktur PRINTDLGEX menentukan array strukturPRINTPAGERANGE di mana setiap struktur menentukan rentang halaman.
Lembar properti Cetak menampilkan tombol radio Halaman Saat Ini sebagai bagian dari grup tombol radio Rentang Halaman. Untuk mengontrol tombol radio Halaman Saat Ini, gunakan flag PD_CURRENTPAGE dan PD_NOCURRENTPAGE di anggota Flags dari struktur PRINTDLGEX.
Bagian ini membahas topik berikut.
Menyesuaikan Lembar Properti Cetak
Anda bisa mengkustomisasi lembar properti Cetak dengan cara berikut:
- Berikan templat kustom untuk bagian bawah halaman umum. Ini memungkinkan Anda untuk menyertakan kontrol tambahan yang unik untuk aplikasi Anda. Fungsi PrintDlgEx menggunakan templat kustom Anda sebagai pengganti templat default.
- Berikan halaman properti tambahan untuk mengikuti halaman Umum.
- Berikan objek panggilan balik. Untuk informasi selengkapnya, lihat Objek Panggilan Balik untuk Lembar Properti Cetak.
Anda tidak dapat mengubah bagian atas halaman Umum. Anda tidak dapat mengubah halaman properti yang disediakan oleh driver printer.
Untuk menyediakan templat kustom untuk halaman Umum:
Buat templat kustom untuk bagian bawah halaman Umum dengan memodifikasi templat PRINTDLGEXORD yang ditentukan dalam file Prnsetup.dlg. Biasanya, templat kustom harus berukuran sama dengan templat default. Namun, Anda dapat memperbesar templat kustom jika Anda menentukan bendera PD_USELARGETEMPLATE untuk membuat halaman Umum yang lebih besar. Pengidentifikasi kontrol yang digunakan dalam templat dialog default Cetak ditentukan dalam file Dlgs.h.
Gunakan strukturPRINTDLGEX untuk mengaktifkan templat sebagai berikut:
Jika templat kustom Anda adalah sumber daya dalam aplikasi atau pustaka tautan dinamis, atur citra PD_ENABLEPRINTTEMPLATE di anggota bendera Flags. Gunakan hInstance dan lpPrintTemplateName anggota struktur untuk mengidentifikasi modul dan nama sumber daya.
-Atau-
Jika templat kustom Anda sudah dalam memori, atur bendera PD_ENABLEPRINTTEMPLATEHANDLE. Gunakan anggota dari hInstance untuk mengidentifikasi objek memori yang berisi templat.
Jika Anda menggunakan templat kustom untuk menentukan kontrol tambahan, Anda harus menyediakan objek panggilan balik untuk memproses input untuk kontrol Anda. Objek panggilan balik mengimplementasikan metode IPrintDialogCallback::HandleMessage yang menerima pesan yang dikirim ke kotak dialog kustom.
Untuk menyediakan halaman properti tambahan
Gunakan fungsi untuk membuat halaman tambahan.
Gunakan lphPropertyPages anggota struktur PRINTDLGEX untuk menentukan array handle halaman tambahan.
Prosedur kotak dialog yang ditentukan saat Anda membuat setiap proses halaman mengolah pesan yang dikirim ke halaman.
Anda mungkin ingin menyediakan objek panggilan balik yang mengimplementasikan antarmuka. FungsiPrintDlgEx menggunakan antarmuka ini untuk meneruskan ke aplikasi penunjuk ke antarmuka IPrintDialogServices. Prosedur kotak dialog untuk halaman properti tambahan dapat menggunakan antarmuka ini untuk mengambil informasi tentang printer yang saat ini dipilih.
Objek Panggilan Balik untuk Lembar Properti Cetak
Aplikasi yang menampilkan lembar properti Print dapat mengimplementasikan objek panggilan balik untuk menerima pemberitahuan dan pesan dari fungsiPrintDlgEx saat lembar properti ditampilkan. Untuk menyediakan objek callback, tentukan penunjuk ke objek tersebut pada anggota lpCallback dari struktur PRINTDLGEX.
Objek panggilan balik harus mengimplementasikan antarmukaIPrintDialogCallback. FungsiPrintDlgExmemanggil metode IPrintDialogCallback dalam situasi berikut:
- Ketika kotak dialog telah diinisialisasi
- Ketika pengguna memilih printer yang berbeda dari daftar printer terinstal yang ditampilkan oleh lembar properti
- Saat menerima pesan untuk kotak dialog anak di bagian bawah lembar properti halaman Umum
Objek panggilan balik juga harus mengimplementasikan antarmukaIObjectWithSite. Fungsi PrintDlgEx memanggil metode untuk meneruskan penunjuk ke antarmukaIPrintDialogServices ke aplikasi. Metode IPrintDialogCallback dapat menggunakan antarmuka IPrintDialogServices untuk memperoleh informasi tentang printer yang dipilih. Antarmuka IPrintDialogServices juga berguna untuk aplikasi yang membuat halaman tambahan setelah halaman Umum dari lembar properti Cetak. Prosedur kotak dialog untuk halaman tambahan dapat memanggil metode IPrintDialogServices.