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
Konseptual
Referensi
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk