Fungsi panggilan balik LPPRINTHOOKPROC (commdlg.h)

Menerima pesan atau pemberitahuan yang ditujukan untuk prosedur kotak dialog default kotak dialog Cetak . Ini adalah fungsi panggilan balik yang ditentukan aplikasi atau yang ditentukan pustaka yang digunakan dengan fungsi PrintDlg .

Jenis LPPRINTHOOKPROC mendefinisikan penunjuk ke fungsi panggilan balik ini. PrintHookProc adalah tempat penampung untuk nama fungsi yang ditentukan aplikasi atau yang ditentukan pustaka.

Sintaks

LPPRINTHOOKPROC Lpprinthookproc;

UINT_PTR Lpprinthookproc(
  HWND unnamedParam1,
  UINT unnamedParam2,
  WPARAM unnamedParam3,
  LPARAM unnamedParam4
)
{...}

Parameter

unnamedParam1

Handel ke kotak dialog Cetak yang pesannya dimaksudkan.

unnamedParam2

Pengidentifikasi pesan yang diterima.

unnamedParam3

Informasi tambahan tentang pesan. Arti yang tepat tergantung pada nilai parameter unnamedParam2 .

unnamedParam4

Informasi tambahan tentang pesan. Arti yang tepat tergantung pada nilai parameter unnamedParam2 .

Jika parameter unnamedParam2 menunjukkan pesan WM_INITDIALOG , unnamedParam4 adalah penunjuk ke struktur PRINTDLG yang berisi nilai yang ditentukan saat kotak dialog dibuat.

Menampilkan nilai

Jika prosedur kait mengembalikan nol, prosedur kotak dialog default memproses pesan.

Jika prosedur kait mengembalikan nilai bukan nol, prosedur kotak dialog default mengabaikan pesan.

Keterangan

Saat Anda menggunakan fungsi PrintDlg untuk membuat kotak dialog Cetak , Anda bisa menyediakan prosedur hook PrintHookProc untuk memproses pesan atau pemberitahuan yang ditujukan untuk prosedur kotak dialog. Untuk mengaktifkan prosedur kait, gunakan struktur PRINTDLG yang Anda berikan ke fungsi pembuatan dialog. Tentukan alamat prosedur kait di anggota lpfnPrintHook dan tentukan bendera PD_ENABLEPRINTHOOK di anggota Bendera .

Prosedur kotak dialog default memproses pesan WM_INITDIALOG sebelum meneruskannya ke prosedur kait. Untuk semua pesan lainnya, prosedur kait menerima pesan terlebih dahulu. Kemudian, nilai pengembalian prosedur kait menentukan apakah prosedur dialog default memproses pesan atau mengabaikannya.

Jika prosedur kait memproses pesan WM_CTLCOLORDLG , prosedur tersebut harus mengembalikan handel kuas yang valid untuk melukis latar belakang kotak dialog. Secara umum, jika prosedur kait memproses pesan WM_CTLCOLOR* , prosedur tersebut harus mengembalikan handel kuas yang valid untuk melukis latar belakang kontrol yang ditentukan.

Jangan panggil fungsi EndDialog dari prosedur kait. Sebagai gantinya, prosedur kait dapat memanggil fungsi PostMessage untuk memposting pesan WM_COMMAND dengan nilai IDABORT ke prosedur kotak dialog. Memposting IDABORT menutup kotak dialog dan menyebabkan fungsi kotak dialog mengembalikan FALSE. Jika Anda perlu tahu mengapa prosedur kait menutup kotak dialog, Anda harus menyediakan mekanisme komunikasi Anda sendiri antara prosedur kait dan aplikasi Anda.

Anda dapat mensubkelas kontrol standar dari kotak dialog umum. Namun, prosedur kotak dialog juga dapat mensubkelas kontrol. Karena itu, Anda harus mengontrol subkelas saat prosedur kait memproses pesan WM_INITDIALOG . Ini memastikan bahwa prosedur subkelas Anda menerima pesan khusus kontrol sebelum prosedur subkelas yang diatur oleh prosedur kotak dialog.

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 commdlg.h (sertakan Windows.h)

Lihat juga

Pustaka Kotak Dialog Umum

Konseptual

EndDialog

PRINTDLG

PostMessage

PrintDlg

Referensi

WM_CTLCOLORDLG

WM_INITDIALOG