Metode IPrint::P rint (docobj.h)
Mencetak objek pada pencetak yang ditentukan, menggunakan persyaratan pekerjaan yang ditentukan.
Sintaks
HRESULT Print(
[in] DWORD grfFlags,
[in, out] DVTARGETDEVICE **pptd,
[in, out] PAGESET **ppPageSet,
[in, out] STGMEDIUM *pstgmOptions,
[in] IContinueCallback *pcallback,
[in] LONG nFirstPage,
[out] LONG *pcPagesPrinted,
[out] LONG *pnLastPage
);
Parameter
[in] grfFlags
Bitfield yang menentukan opsi cetak dari enumerasi PRINTFLAG .
PRINTFLAG_MAYBOTHERUSER (1)
PRINTFLAG_PROMPTUSER (2)
PRINTFLAG_USERMAYCHANGEPRINTER (4)
PRINTFLAG_RECOMPOSETODEVICE (8)
PRINTFLAG_DONTACTUALLYPRINT (16)
PRINTFLAG_FORCEPROPERTIES (32)
PRINTFLAG_PRINTTOFILE (64)
[in, out] pptd
Penunjuk ke struktur DVTARGETDEVICE yang menjelaskan perangkat cetak target.
[in, out] ppPageSet
Penunjuk ke variabel penunjuk PAGESET yang menerima penunjuk ke struktur yang menunjukkan halaman mana yang akan dicetak.
[in, out] pstgmOptions
Penunjuk ke opsi pencetakan khusus objek dalam kumpulan properti OLE berseri. Parameter ini dapat berupa NULL pada input atau pengembalian.
[in] pcallback
Penunjuk ke antarmuka IContinueCallback pada situs tampilan, yang akan secara berkala dijajaki pada kecepatan respons manusia untuk menentukan apakah pencetakan harus ditinggalkan. Parameter ini bisa NULL.
[in] nFirstPage
Nomor halaman halaman pertama yang akan dicetak. Nilai ini mengambil alih nilai apa pun yang sebelumnya diteruskan ke IPrint::SetInitialPageNum.
[out] pcPagesPrinted
Penunjuk ke variabel yang menerima jumlah halaman aktual yang berhasil dicetak.
[out] pnLastPage
Penunjuk ke variabel yang menerima nomor halaman halaman terakhir yang dicetak.
Menampilkan nilai
Metode ini dapat mengembalikan nilai pengembalian standar E_UNEXPECTED, serta nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Metode berhasil diselesaikan. |
|
Proses cetak dibatalkan sebelum selesai. *pcPagesPrinted menunjukkan jumlah halaman yang sebenarnya berhasil dicetak sebelum kesalahan ini terjadi. |
|
Halaman yang ditentukan dalam **ppPageSet atau nFirstPage tidak ada. |
Keterangan
Printer tempat objek akan dicetak ditunjukkan oleh struktur DVTARGETDEVICE yang ditunjukkan oleh pptd. Struktur DEVMODE dalam perangkat target menunjukkan opsi khusus printer seluruh pekerjaan, seperti jumlah salinan, ukuran kertas, dan kualitas cetak. Struktur DEVMODE juga dapat berisi informasi orientasi dalam anggota dmOrientation (ini ditunjukkan pada anggota dmFields ). Jika ada, maka orientasi kertas ini harus digunakan; jika tidak ada, maka orientasi alami seperti yang ditentukan oleh konten objek akan digunakan.
Karena kemungkinan input pengguna, parameter pptd dan ppPageSet keduanya adalah struktur [in,out]. Dengan tidak adanya interaksi pengguna (yaitu, jika bendera PRINTFLAG_PROMPTUSER tidak diatur), perangkat target dan set halaman harus sama untuk input dan output. Namun, jika pengguna dimintai opsi cetak, maka objek mengembalikan perangkat target dan informasi yang ditetapkan halaman yang sesuai dengan apa yang sebenarnya dipilih pengguna.
Parameter pstgmOptions juga [masuk,keluar]. Saat keluar, objek harus menulis ke *pstgmOptions informasi khusus objek apa pun yang diperlukan untuk mereproduksi pekerjaan cetak yang tepat ini. Contohnya mungkin termasuk apakah pengguna memilih "lembar, catatan, atau keduanya" dalam aplikasi spreadsheet. Data yang diteruskan dalam format kumpulan properti berseri. Data biasanya hanya berguna ketika diteruskan kembali dalam panggilan berikutnya ke objek yang sama. Karena panggilan berikutnya dapat menentukan bendera interaksi pengguna yang berbeda, perangkat target, atau pengaturan lainnya, pemanggil dapat menyebabkan dokumen dicetak beberapa kali dengan cara yang sama dalam konteks pencetakan yang sedikit berbeda.
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | docobj.h |