Bagikan melalui


Pemrosesan Pesan Tampilan Daftar Default

Bagian ini mencantumkan pemrosesan pesan jendela yang dilakukan oleh kontrol tampilan daftar.

Pemrosesan Pesan

Tabel berikut ini menjelaskan pemrosesan pesan jendela yang dilakukan oleh kontrol tampilan daftar.

Pesan Pemrosesan dilakukan
WM_CHAR Mencari item tampilan daftar yang dimulai dengan karakter yang ditentukan dan, jika item ditemukan, memilih dan mengatur fokus ke item. Beberapa karakter yang diterima dalam interval waktu habis, saat ini diperbaiki pada satu detik, digabungkan, dan kontrol tampilan daftar mencari item yang dimulai dengan string yang dihasilkan.
WM_COMMAND Memproses kode pemberitahuan EN_UPDATE dan EN_KILLFOCUS dan meneruskan semua pemberitahuan kontrol edit lainnya ke jendela induk.
WM_CREATE Melakukan inisialisasi tambahan untuk WM_NCCREATE. Jika gaya jendela LVS_SHAREIMAGELISTS tidak ditentukan, kontrol tampilan daftar membuat ikon dan daftar gambar ikon kecil pada saat ini.
WM_DESTROY Membebaskan sumber daya yang dialokasikan selama WM_CREATE.
WM_ERASEBKGND Menghapus latar belakang jendela menggunakan warna latar belakang saat ini untuk kontrol tampilan daftar. Jika warna latar belakang adalah nilai CLR_NONE, kontrol tampilan daftar meneruskan pesan ke jendela induk.
WM_GETDLGCODE Mengembalikan kombinasi nilai DLGC_WANTTAB dan DLGC_WANTARROWS.
WM_GETFONT Mengembalikan handel ke font label saat ini.
WM_HSCROLL Menggulir kontrol tampilan daftar secara horizontal.
WM_KEYDOWN Memproses tombol SPACEBAR, ENTER, dan panah dan mengirim kode pemberitahuan LVN_KEYDOWN ke jendela induk.
WM_KILLFOCUS Mengecat ulang item daftar yang difokuskan, jika ada, dan mengirim kode pemberitahuan NM_KILLFOCUS ke jendela induk.
WM_LBUTTONDBLCLK Mengirim jendela induk kode pemberitahuan NM_DBLCLK (tampilan daftar).
WM_LBUTTONDOWN Diproses dengan cara yang berbeda tergantung pada apakah operasi klik atau seret sedang dimulai. Untuk menentukan operasi mana yang terlibat, kontrol tampilan daftar memasukkan perulangan pesan modal hingga tombol dilepaskan atau mouse dipindahkan. Dalam kasus klik, kontrol tampilan daftar mungkin mengubah item mana yang memiliki fokus dan item mana yang dipilih, dengan mempertimbangkan posisi kursor, status tombol SHIFT dan CTRL, dan sebagainya. Kemudian kontrol tampilan daftar mengirimkan jendela induknya kode pemberitahuan NM_CLICK (tampilan daftar).
Jika menyeret dimulai melalui item, kontrol tampilan daftar memilih dan mengatur fokus ke item. Kemudian mengirimkan kode pemberitahuan LVN_BEGINDRAG ke jendela induk. Jendela induk bertanggung jawab untuk benar-benar melakukan operasi seret.
Jika penyeretan dimulai di latar belakang jendela, kontrol tampilan daftar memasuki perulangan pesan modal lain, memungkinkan pengguna untuk membentuk persegi panjang dengan menyeret mouse. Item dalam persegi dipilih.
WM_NCCREATE Mengalokasikan dan menginisialisasi struktur data internal lalu memanggil fungsi DefWindowProc.
WM_NCDESTROY Membebaskan sumber daya yang dialokasikan oleh kontrol tampilan daftar. Kecuali gaya LVS_SHAREIMAGELISTS digunakan, ini termasuk menghapus daftar gambar berukuran penuh dan kecil.
WM_NOTIFY Memproses kode pemberitahuan kontrol header.
WM_PAINT Menampilkan item apa pun di wilayah pembaruan. Untuk item panggilan balik, kontrol terlebih dahulu mengirim kode pemberitahuan LVN_GETDISPINFO ke jendela pemilik untuk meminta informasi tampilan. Jika parameter wParam non-NULL, kontrol mengasumsikan bahwa nilainya adalah HDC dan melukis menggunakan konteks perangkat tersebut.
WM_RBUTTONDOWN Diproses dengan cara yang sama seperti pesan WM_LBUTTONDOWN, kecuali bahwa kontrol mengirim kode pemberitahuan NM_RCLICK (tampilan daftar) (bukan NM_CLICK (tampilan daftar)) dan kode pemberitahuan LVN_BEGINRDRAG (bukan LVN_BEGINDRAG). Perhatikan bahwa kontrol memproses pesan WM_RBUTTONUP yang sesuai, dan tidak mengirimkannya. Aplikasi dengan demikian tidak dapat melihat pesan ini, bahkan dengan mensubkelas kontrol.
WM_SETFOCUS Mengecat ulang item daftar yang difokuskan, jika ada, dan mengirim kode pemberitahuan NM_SETFOCUS ke jendela induk.
WM_SETFONT Menyimpan handel font yang ditentukan, meneruskan pesan ke jendela header, jika ada, dan cat ulang menggunakan font baru.
WM_SETREDRAW Mengaktifkan atau menonaktifkan redrawing.
WM_TIMER Mulai mengedit label item. Jika pengguna mengklik label item yang difokuskan, kontrol tampilan daftar akan mengatur timer alih-alih segera memasukkan mode edit. Timer memungkinkan kontrol tampilan daftar untuk tidak memasuki mode edit jika pengguna mengklik dua kali label.
WM_VSCROLL Menggulir kontrol tampilan daftar secara vertikal.
WM_WINDOWPOSCHANGED Memperbarui bilah gulir jendela. Jika tampilan saat ini adalah ikon atau tampilan ikon kecil, dan gaya LVS_AUTOARRANGE ditentukan, kontrol tampilan daftar juga akan mengatur item daftar.
WM_WININICHANGE Memproses perubahan pada metrik sistem.