Bagikan melalui


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
S_OK
Metode berhasil diselesaikan.
PRINT_E_CANCELED
Proses cetak dibatalkan sebelum selesai. *pcPagesPrinted menunjukkan jumlah halaman yang sebenarnya berhasil dicetak sebelum kesalahan ini terjadi.
PRINT_E_NOSUCHPAGE
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

Lihat juga

Iprint