Pemrosesan Pesan List-View 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 NM_DBLCLK (tampilan daftar) kode pemberitahuan. |
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 NM_CLICK (tampilan daftar) kode pemberitahuan. 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 fungsiDefWindowProc. |
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 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. |