Struktur NMCUSTOMDRAW (commctrl.h)
Berisi informasi khusus untuk kode pemberitahuan NM_CUSTOMDRAW .
Sintaks
typedef struct tagNMCUSTOMDRAWINFO {
NMHDR hdr;
DWORD dwDrawStage;
HDC hdc;
RECT rc;
DWORD_PTR dwItemSpec;
UINT uItemState;
LPARAM lItemlParam;
} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
Anggota
hdr
Jenis: NMHDR
Struktur NMHDR yang berisi informasi tentang kode pemberitahuan ini.
dwDrawStage
Jenis: DWORD
Tahap gambar saat ini. Ini adalah salah satu nilai berikut.
Nilai | Makna |
---|---|
|
|
|
Setelah siklus penghapusan selesai. |
|
Setelah siklus lukisan selesai. |
|
Sebelum siklus penghapusan dimulai. |
|
Sebelum siklus lukisan dimulai. |
|
|
|
Menunjukkan bahwa anggota dwItemSpec, uItemState, dan lItemlParam valid. |
|
Setelah item dihapus. |
|
Setelah item digambar. |
|
Sebelum item dihapus. |
|
Sebelum item digambar. |
|
Bendera dikombinasikan dengan CDDS_ITEMPREPAINT atau CDDS_ITEMPOSTPAINT jika subitem sedang digambar. Ini hanya akan diatur jika CDRF_NOTIFYITEMDRAW dikembalikan dari CDDS_PREPAINT. |
hdc
Jenis: HDC
Handel ke konteks perangkat kontrol. Gunakan HDC ini untuk melakukan fungsi GDI apa pun.
rc
Jenis: RECT
Struktur RECT yang menjelaskan persegi panjang pembatas area yang digambar. Anggota ini hanya diinisialisasi oleh pemberitahuan CDDS_ITEMPREPAINT. Versi 5.80. Anggota ini juga diinisialisasi oleh pemberitahuan CDDS_PREPAINT.
dwItemSpec
Jenis: DWORD_PTR
Nomor item. Apa yang terkandung dalam anggota ini akan bergantung pada jenis kontrol yang mengirim pemberitahuan. Lihat referensi pemberitahuan NM_CUSTOMDRAW untuk kontrol tertentu untuk menentukan apa, jika ada, yang terkandung dalam anggota ini.
uItemState
Jenis: UINT
Status item saat ini. Nilai ini adalah kombinasi dari bendera berikut.
Nilai | Makna |
---|---|
|
Item dicentang. |
|
Item dalam status defaultnya. |
|
Item dinonaktifkan. |
|
Item sedang dalam fokus. |
|
Item berwarna abu-abu. |
|
Item saat ini berada di bawah penunjuk ("panas"). |
|
Item dalam status tidak ditentukan. |
|
Item ditandai. Arti dari hal ini ditentukan oleh implementasi. |
|
Item dipilih.
Catatan Bendera ini tidak berfungsi dengan benar untuk kontrol tampilan daftar yang digambar pemilik yang memiliki gaya LVS_SHOWSELALWAYS . Untuk kontrol ini, Anda dapat menentukan apakah item dipilih dengan menggunakan LVM_GETITEMSTATE (atau ListView_GetItemState) dan memeriksa bendera LVIS_SELECTED .
|
|
Versi 6.0.Item menunjukkan isi papan ketiknya. Perhatikan bahwa Comctl32 versi 6 tidak dapat didistribusikan ulang. sistem operasi. Untuk menggunakan Comctl32.dll versi 6, tentukan dalam manifes. Untuk informasi selengkapnya tentang manifes, lihat Mengaktifkan Gaya Visual. |
|
Item adalah bagian dari kontrol yang saat ini berada di bawah penunjuk mouse ("panas"), tetapi item tidak "panas" itu sendiri. Arti dari hal ini ditentukan oleh implementasi. |
|
Item adalah bagian dari tombol terpisah yang saat ini berada di bawah penunjuk mouse ("panas"), tetapi item tersebut tidak "panas" itu sendiri. Arti dari hal ini ditentukan oleh implementasi. |
|
Item saat ini adalah target penghilangan operasi seret dan letakkan. |
lItemlParam
Jenis: LPARAM
Data item yang ditentukan aplikasi.
Keterangan
Nilai yang dikembalikan aplikasi Anda tergantung pada tahap gambar saat ini. Anggota dwDrawStage dari struktur NMCUSTOMDRAW terkait memegang nilai yang menentukan tahap gambar. Ketika anggota dwDrawStage sama dengan CDDS_PREPAINT dan CDDS_PREERASE, beberapa kontrol mengirim pesan CDDS_PREERASE terlebih dahulu dan mengharapkan nilai kembali menunjukkan pesan berikutnya mana yang akan dikirim. Untuk sampel kode yang mengilustrasikan status dan tahap gambar, lihat Menyesuaikan Tampilan Kontrol Menggunakan Gambar Kustom.
Persyaratan
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Header | commctrl.h |