Fungsi panggilan balik LPCCHOOKPROC (commdlg.h)
Menerima pesan atau pemberitahuan yang ditujukan untuk prosedur kotak dialog default kotak dialog Warna . Ini adalah fungsi panggilan balik yang ditentukan aplikasi atau yang ditentukan pustaka yang digunakan dengan fungsi ChooseColor .
Jenis LPCCHOOKPROC mendefinisikan penunjuk ke fungsi panggilan balik ini. CCHookProc adalah tempat penampung untuk nama fungsi yang ditentukan aplikasi.
Sintaks
LPCCHOOKPROC Lpcchookproc;
UINT_PTR Lpcchookproc(
HWND unnamedParam1,
UINT unnamedParam2,
WPARAM unnamedParam3,
LPARAM unnamedParam4
)
{...}
Parameter
unnamedParam1
Handel ke kotak dialog Warna tempat pesan 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 , maka unnamedParam4 adalah penunjuk ke struktur SELECTCOLOR yang berisi nilai yang ditentukan saat dialog dibuat.
Mengembalikan 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 ChooseColor untuk membuat kotak dialog Warna , Anda bisa menyediakan prosedur hook CCHookProc untuk memproses pesan atau pemberitahuan yang ditujukan untuk prosedur kotak dialog. Untuk mengaktifkan prosedur kait, gunakan struktur CHOOSECOLOR yang Anda berikan ke fungsi pembuatan dialog. Tentukan alamat prosedur kait di anggota lpfnHook dan tentukan bendera CC_ENABLEHOOK 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 , itu harus mengembalikan handel sikat yang valid untuk melukis latar belakang kotak dialog. Secara umum, jika prosedur kait memproses pesan WM_CTLCOLOR* , itu 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 subkelas kontrol standar dari kotak dialog umum. Namun, prosedur kotak dialog juga dapat mensubkelas kontrol. Karena itu, Anda harus melakukan subkelas kontrol saat prosedur kait memproses pesan WM_INITDIALOG . Ini memastikan bahwa prosedur subkelas Anda menerima pesan khusus kontrol sebelum prosedur subkelas yang ditetapkan oleh prosedur kotak dialog.
Persyaratan
Persyaratan | Nilai |
---|---|
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