CListCtrl
Kelas
Merangkum fungsionalitas "kontrol tampilan daftar", yang menampilkan kumpulan item yang masing-masing terdiri dari ikon (dari daftar gambar) dan label.
Sintaks
class CListCtrl : public CWnd
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CListCtrl::CListCtrl |
Membuat CListCtrl objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CListCtrl::ApproximateViewRect |
Menentukan lebar dan tinggi yang diperlukan untuk menampilkan item kontrol tampilan daftar. |
CListCtrl::Arrange |
Meratakan item pada kisi. |
CListCtrl::CancelEditLabel |
Membatalkan operasi pengeditan teks item. |
CListCtrl::Create |
Membuat kontrol daftar dan melampirkannya ke CListCtrl objek. |
CListCtrl::CreateDragImage |
Membuat daftar gambar seret untuk item tertentu. |
CListCtrl::CreateEx |
Membuat kontrol daftar dengan gaya perluasan Windows yang ditentukan dan melampirkannya ke CListCtrl objek. |
CListCtrl::DeleteAllItems |
Menghapus semua item dari kontrol. |
CListCtrl::DeleteColumn |
Menghapus kolom dari kontrol tampilan daftar. |
CListCtrl::DeleteItem |
Menghapus item dari kontrol. |
CListCtrl::DrawItem |
Dipanggil saat aspek visual kontrol gambar pemilik berubah. |
CListCtrl::EditLabel |
Memulai pengeditan teks item di tempat. |
CListCtrl::EnableGroupView |
Mengaktifkan atau menonaktifkan apakah item dalam tampilan kontrol tampilan daftar ditampilkan sebagai grup. |
CListCtrl::EnsureVisible |
Memastikan bahwa item terlihat. |
CListCtrl::FindItem |
Mencari item tampilan daftar yang memiliki karakteristik yang ditentukan. |
CListCtrl::GetBkColor |
Mengambil warna latar belakang kontrol tampilan daftar. |
CListCtrl::GetBkImage |
Mengambil gambar latar belakang kontrol tampilan daftar saat ini. |
CListCtrl::GetCallbackMask |
Mengambil masker panggilan balik untuk kontrol tampilan daftar. |
CListCtrl::GetCheck |
Mengambil status tampilan gambar status saat ini yang terkait dengan item. |
CListCtrl::GetColumn |
Mengambil atribut kolom kontrol. |
CListCtrl::GetColumnOrderArray |
Mengambil urutan kolom (kiri ke kanan) dari kontrol tampilan daftar. |
CListCtrl::GetColumnWidth |
Mengambil lebar kolom dalam tampilan laporan atau tampilan daftar. |
CListCtrl::GetCountPerPage |
Menghitung jumlah item yang bisa pas secara vertikal dalam kontrol tampilan daftar. |
CListCtrl::GetEditControl |
Mengambil handel kontrol edit yang digunakan untuk mengedit teks item. |
CListCtrl::GetEmptyText |
Mengambil string untuk ditampilkan jika kontrol tampilan daftar saat ini kosong. |
CListCtrl::GetExtendedStyle |
Mengambil gaya kontrol tampilan daftar yang diperluas saat ini. |
CListCtrl::GetFirstSelectedItemPosition |
Mengambil posisi item tampilan daftar pertama yang dipilih dalam kontrol tampilan daftar. |
CListCtrl::GetFocusedGroup |
Mengambil grup yang memiliki fokus keyboard dalam kontrol tampilan daftar saat ini. |
CListCtrl::GetGroupCount |
Mengambil jumlah grup dalam kontrol tampilan daftar saat ini. |
CListCtrl::GetGroupInfo |
Mendapatkan informasi untuk grup kontrol tampilan daftar tertentu. |
CListCtrl::GetGroupInfoByIndex |
Mengambil informasi tentang grup tertentu dalam kontrol tampilan daftar saat ini. |
CListCtrl::GetGroupMetrics |
Mengambil metrik grup. |
CListCtrl::GetGroupRect |
Mengambil persegi panjang pembatas untuk grup tertentu dalam kontrol tampilan daftar saat ini. |
CListCtrl::GetGroupState |
Mengambil status untuk grup tertentu dalam kontrol tampilan daftar saat ini. |
CListCtrl::GetHeaderCtrl |
Mengambil kontrol header kontrol tampilan daftar. |
CListCtrl::GetHotCursor |
Mengambil kursor yang digunakan saat pelacakan panas diaktifkan untuk kontrol tampilan daftar. |
CListCtrl::GetHotItem |
Mengambil item tampilan daftar yang saat ini berada di bawah kursor. |
CListCtrl::GetHoverTime |
Mengambil waktu hover kontrol tampilan daftar saat ini. |
CListCtrl::GetImageList |
Mengambil handel daftar gambar yang digunakan untuk menggambar item tampilan daftar. |
CListCtrl::GetInsertMark |
Mengambil posisi tanda penyisipan saat ini. |
CListCtrl::GetInsertMarkColor |
Mengambil warna tanda penyisipan saat ini. |
CListCtrl::GetInsertMarkRect |
Mengambil persegi panjang yang mengikat titik penyisipan. |
CListCtrl::GetItem |
Mengambil atribut item tampilan daftar. |
CListCtrl::GetItemCount |
Mengambil jumlah item dalam kontrol tampilan daftar. |
CListCtrl::GetItemData |
Mengambil nilai khusus aplikasi yang terkait dengan item. |
CListCtrl::GetItemIndexRect |
Mengambil persegi panjang pembatas untuk semua atau sebagian subitem dalam kontrol tampilan daftar saat ini. |
CListCtrl::GetItemPosition |
Mengambil posisi item tampilan daftar. |
CListCtrl::GetItemRect |
Mengambil persegi panjang pembatas untuk item. |
CListCtrl::GetItemSpacing |
Menghitung penspasian antar item dalam kontrol tampilan daftar saat ini. |
CListCtrl::GetItemState |
Mengambil status item tampilan daftar. |
CListCtrl::GetItemText |
Mengambil teks item tampilan daftar atau subitem. |
CListCtrl::GetNextItem |
Mencari item tampilan daftar dengan properti tertentu dan dengan hubungan yang ditentukan ke item tertentu. |
CListCtrl::GetNextItemIndex |
Mengambil indeks item dalam kontrol tampilan daftar saat ini yang memiliki sekumpulan properti yang ditentukan. |
CListCtrl::GetNextSelectedItem |
Mengambil indeks posisi item tampilan daftar, dan posisi item tampilan daftar terpilih berikutnya untuk iterasi. |
CListCtrl::GetNumberOfWorkAreas |
Mengambil jumlah area kerja saat ini untuk kontrol tampilan daftar. |
CListCtrl::GetOrigin |
Mengambil asal tampilan saat ini untuk kontrol tampilan daftar. |
CListCtrl::GetOutlineColor |
Mengambil warna batas kontrol tampilan daftar. |
CListCtrl::GetSelectedColumn |
Mengambil indeks kolom yang saat ini dipilih dalam kontrol daftar. |
CListCtrl::GetSelectedCount |
Mengambil jumlah item terpilih dalam kontrol tampilan daftar. |
CListCtrl::GetSelectionMark |
Mengambil tanda pilihan kontrol tampilan daftar. |
CListCtrl::GetStringWidth |
Menentukan lebar kolom minimum yang diperlukan untuk menampilkan semua string tertentu. |
CListCtrl::GetSubItemRect |
Mengambil persegi panjang pembatas item dalam kontrol tampilan daftar. |
CListCtrl::GetTextBkColor |
Mengambil warna latar belakang teks kontrol tampilan daftar. |
CListCtrl::GetTextColor |
Mengambil warna teks kontrol tampilan daftar. |
CListCtrl::GetTileInfo |
Mengambil informasi tentang petak peta dalam kontrol tampilan daftar. |
CListCtrl::GetTileViewInfo |
Mengambil informasi tentang kontrol tampilan daftar dalam tampilan petak peta. |
CListCtrl::GetToolTips |
Mengambil kontrol tipsalat yang digunakan kontrol tampilan daftar untuk menampilkan tipsalat. |
CListCtrl::GetTopIndex |
Mengambil indeks item paling atas yang terlihat. |
CListCtrl::GetView |
Mendapatkan tampilan kontrol tampilan daftar. |
CListCtrl::GetViewRect |
Mengambil persegi panjang pembatas semua item dalam kontrol tampilan daftar. |
CListCtrl::GetWorkAreas |
Mengambil area kerja kontrol tampilan daftar saat ini. |
CListCtrl::HasGroup |
Menentukan apakah kontrol tampilan daftar memiliki grup yang ditentukan. |
CListCtrl::HitTest |
Menentukan item tampilan daftar mana yang berada pada posisi tertentu. |
CListCtrl::InsertColumn |
Menyisipkan kolom baru dalam kontrol tampilan daftar. |
CListCtrl::InsertGroup |
Menyisipkan grup ke dalam kontrol tampilan daftar. |
CListCtrl::InsertGroupSorted |
Menyisipkan grup yang ditentukan ke dalam daftar grup yang diurutkan. |
CListCtrl::InsertItem |
Sisipkan item baru dalam kontrol tampilan daftar. |
CListCtrl::InsertMarkHitTest |
Mengambil titik penyisipan yang paling dekat dengan titik tertentu. |
CListCtrl::IsGroupViewEnabled |
Menentukan apakah tampilan grup diaktifkan untuk kontrol tampilan daftar. |
CListCtrl::IsItemVisible |
Menunjukkan apakah item yang ditentukan dalam kontrol tampilan daftar saat ini terlihat. |
CListCtrl::MapIDToIndex |
Memetakan ID unik item dalam kontrol tampilan daftar saat ini ke indeks. |
CListCtrl::MapIndexToID |
Memetakan indeks item dalam kontrol tampilan daftar saat ini ke ID unik. |
CListCtrl::MoveGroup |
Memindahkan grup yang ditentukan. |
CListCtrl::MoveItemToGroup |
Memindahkan grup yang ditentukan ke indeks berbasis nol yang ditentukan dari kontrol tampilan daftar. |
CListCtrl::RedrawItems |
Memaksa kontrol tampilan daftar untuk mengecat ulang rentang item. |
CListCtrl::RemoveAllGroups |
Menghapus semua grup dari kontrol tampilan daftar. |
CListCtrl::RemoveGroup |
Menghapus grup yang ditentukan dari kontrol tampilan daftar. |
CListCtrl::Scroll |
Menggulir konten kontrol tampilan daftar. |
CListCtrl::SetBkColor |
Mengatur warna latar belakang kontrol tampilan daftar. |
CListCtrl::SetBkImage |
Mengatur gambar latar belakang kontrol tampilan daftar saat ini. |
CListCtrl::SetCallbackMask |
Mengatur masker panggilan balik untuk kontrol tampilan daftar. |
CListCtrl::SetCheck |
Mengatur status tampilan gambar status saat ini yang terkait dengan item. |
CListCtrl::SetColumn |
Mengatur atribut kolom tampilan daftar. |
CListCtrl::SetColumnOrderArray |
Mengatur urutan kolom (kiri ke kanan) dari kontrol tampilan daftar. |
CListCtrl::SetColumnWidth |
Mengubah lebar kolom dalam tampilan laporan atau tampilan daftar. |
CListCtrl::SetExtendedStyle |
Mengatur gaya yang diperluas saat ini dari kontrol tampilan daftar. |
CListCtrl::SetGroupInfo |
Mengatur informasi untuk grup kontrol tampilan daftar yang ditentukan. |
CListCtrl::SetGroupMetrics |
Mengatur metrik grup kontrol tampilan daftar. |
CListCtrl::SetHotCursor |
Mengatur kursor yang digunakan saat pelacakan panas diaktifkan untuk kontrol tampilan daftar. |
CListCtrl::SetHotItem |
Mengatur item panas saat ini dari kontrol tampilan daftar. |
CListCtrl::SetHoverTime |
Mengatur waktu hover kontrol tampilan daftar saat ini. |
CListCtrl::SetIconSpacing |
Mengatur penspasian antar ikon dalam kontrol tampilan daftar. |
CListCtrl::SetImageList |
Menetapkan daftar gambar ke kontrol tampilan daftar. |
CListCtrl::SetInfoTip |
Mengatur teks tipsalat. |
CListCtrl::SetInsertMark |
Mengatur titik penyisipan ke posisi yang ditentukan. |
CListCtrl::SetInsertMarkColor |
Mengatur warna titik penyisipan. |
CListCtrl::SetItem |
Mengatur beberapa atau semua atribut item tampilan daftar. |
CListCtrl::SetItemCount |
Menyiapkan kontrol tampilan daftar untuk menambahkan sejumlah besar item. |
CListCtrl::SetItemCountEx |
Mengatur jumlah item untuk kontrol tampilan daftar virtual. |
CListCtrl::SetItemData |
Mengatur nilai khusus aplikasi item. |
CListCtrl::SetItemIndexState |
Mengatur status item dalam kontrol tampilan daftar saat ini. |
CListCtrl::SetItemPosition |
Memindahkan item ke posisi tertentu dalam kontrol tampilan daftar. |
CListCtrl::SetItemState |
Mengubah status item dalam kontrol tampilan daftar. |
CListCtrl::SetItemText |
Mengubah teks item tampilan daftar atau subitem. |
CListCtrl::SetOutlineColor |
Mengatur warna batas kontrol tampilan daftar. |
CListCtrl::SetSelectedColumn |
Menyetel kolom terpilih dari kontrol tampilan daftar. |
CListCtrl::SetSelectionMark |
Mengatur tanda pilihan kontrol tampilan daftar. |
CListCtrl::SetTextBkColor |
Mengatur warna latar belakang teks dalam kontrol tampilan daftar. |
CListCtrl::SetTextColor |
Mengatur warna teks kontrol tampilan daftar. |
CListCtrl::SetTileInfo |
Mengatur informasi untuk petak kontrol tampilan daftar. |
CListCtrl::SetTileViewInfo |
Mengatur informasi yang digunakan kontrol tampilan daftar dalam tampilan petak peta. |
CListCtrl::SetToolTips |
Mengatur kontrol tipsalat yang akan digunakan kontrol tampilan daftar untuk menampilkan tipsalat. |
CListCtrl::SetView |
Mengatur tampilan kontrol tampilan daftar. |
CListCtrl::SetWorkAreas |
Mengatur area tempat ikon dapat ditampilkan dalam kontrol tampilan daftar. |
CListCtrl::SortGroups |
Mengurutkan grup kontrol tampilan daftar dengan fungsi yang ditentukan pengguna. |
CListCtrl::SortItems |
Mengurutkan item tampilan daftar menggunakan fungsi perbandingan yang ditentukan aplikasi. |
CListCtrl::SortItemsEx |
Mengurutkan item tampilan daftar menggunakan fungsi perbandingan yang ditentukan aplikasi. |
CListCtrl::SubItemHitTest |
Menentukan item tampilan daftar mana, jika ada, berada pada posisi tertentu. |
CListCtrl::Update |
Memaksa kontrol untuk mengecat ulang item yang ditentukan. |
Keterangan
Selain ikon dan label, setiap item dapat memiliki informasi yang ditampilkan dalam kolom di sebelah kanan ikon dan label. Kontrol ini (dan oleh karena itu CListCtrl
kelas) hanya tersedia untuk program yang berjalan di bawah Windows 95/98 dan Windows NT versi 3.51 dan yang lebih baru.
Berikut ini adalah gambaran umum CListCtrl
singkat kelas. Untuk diskusi konseptual terperinci, lihat Menggunakan CListCtrl
dan Mengontrol.
Tampilan
Kontrol tampilan daftar dapat menampilkan kontennya dengan empat cara berbeda, yang disebut "tampilan."
Tampilan ikon
Setiap item muncul sebagai ikon berukuran penuh (32 x 32 piksel) dengan label di bawahnya. Pengguna dapat menyeret item ke lokasi mana pun di jendela tampilan daftar.
Tampilan ikon kecil
Setiap item muncul sebagai ikon kecil (16 x 16 piksel) dengan label di sebelah kanannya. Pengguna dapat menyeret item ke lokasi mana pun di jendela tampilan daftar.
Tampilan daftar
Setiap item muncul sebagai ikon kecil dengan label di sebelah kanannya. Item disusun dalam kolom dan tidak dapat diseret ke lokasi mana pun di jendela tampilan daftar.
Tampilan laporan
Setiap item muncul di barisnya sendiri, dengan informasi tambahan yang disusun dalam kolom di sebelah kanan. Kolom paling kiri berisi ikon dan label kecil, dan kolom berikutnya berisi subitem seperti yang ditentukan oleh aplikasi. Kontrol header (kelas
CHeaderCtrl
) yang disematkan mengimplementasikan kolom ini. Untuk informasi selengkapnya tentang kontrol header dan kolom dalam tampilan laporan, lihat MenggunakanCListCtrl
: Menambahkan Kolom ke Kontrol (Tampilan Laporan).
Gaya tampilan daftar kontrol saat ini menentukan tampilan saat ini. Untuk informasi selengkapnya tentang gaya ini dan penggunaannya, lihat Menggunakan CListCtrl
: Mengubah Gaya Kontrol Daftar.
Gaya yang Diperluas
Selain gaya daftar standar, kelas CListCtrl
mendukung serangkaian gaya yang diperluas, menyediakan fungsionalitas yang diperkaya. Beberapa contoh fungsi ini meliputi:
Pilihan hover
Saat diaktifkan, izinkan pemilihan item secara otomatis saat kursor tetap berada di atas item untuk jangka waktu tertentu.
Tampilan daftar virtual
Saat diaktifkan, memungkinkan kontrol untuk mendukung hingga item DWORD. Hal ini dimungkinkan dengan menempatkan overhead pengelolaan data item pada aplikasi. Kecuali untuk pilihan item dan informasi fokus, semua informasi item harus dikelola oleh aplikasi. Untuk informasi selengkapnya, lihat Menggunakan
CListCtrl
: Kontrol Daftar Virtual.Aktivasi satu dan dua klik
Saat diaktifkan, izinkan pelacakan panas (penyorotan otomatis teks item) dan aktivasi satu atau dua klik item yang disorot.
Urutan kolom seret dan letakkan
Saat diaktifkan, izinkan penyusunan ulang seret dan letakkan kolom dalam kontrol tampilan daftar. Hanya tersedia dalam tampilan laporan.
Untuk informasi tentang menggunakan gaya baru yang diperluas ini, lihat Menggunakan CListCtrl
: Mengubah Gaya Kontrol Daftar.
Item dan Subitem
Setiap item dalam kontrol tampilan daftar terdiri dari ikon (dari daftar gambar), label, status saat ini, dan nilai yang ditentukan aplikasi (disebut sebagai "data item"). Satu atau beberapa subitem juga dapat dikaitkan dengan setiap item. "Subitem" adalah string yang, dalam tampilan laporan, dapat ditampilkan di kolom di sebelah kanan ikon dan label item. Semua item dalam kontrol tampilan daftar harus memiliki jumlah subitem yang sama.
Kelas CListCtrl
menyediakan beberapa fungsi untuk menyisipkan, menghapus, menemukan, dan memodifikasi item ini. Untuk informasi selengkapnya, lihat CListCtrl::GetItem
, , CListCtrl::InsertItem
dan CListCtrl::FindItem
, Menambahkan Item ke Kontrol, dan Menggulir, Mengatur, Mengurutkan, dan Menemukan dalam kontrol daftar.
Secara default, kontrol tampilan daftar bertanggung jawab untuk menyimpan ikon item dan atribut teks. Namun, selain jenis item ini, kelas CListCtrl
mendukung "item panggilan balik." "Item panggilan balik" adalah item tampilan daftar yang aplikasinya—bukan kontrol—menyimpan teks, ikon, atau keduanya. Masker panggilan balik digunakan untuk menentukan atribut item mana (teks dan/atau ikon) yang disediakan oleh aplikasi. Jika aplikasi menggunakan item panggilan balik, aplikasi harus dapat menyediakan atribut teks dan/atau ikon sesuai permintaan. Item panggilan balik sangat membantu ketika aplikasi Anda sudah menyimpan beberapa informasi ini. Untuk informasi selengkapnya, lihat Menggunakan CListCtrl
: Item Panggilan Balik dan Masker Panggilan Balik.
Daftar Gambar
Ikon, gambar item header, dan status yang ditentukan aplikasi untuk item tampilan daftar terkandung dalam beberapa daftar gambar (diimplementasikan oleh kelas CImageList
), yang Anda buat dan tetapkan ke kontrol tampilan daftar. Setiap kontrol tampilan daftar dapat memiliki hingga empat jenis daftar gambar yang berbeda:
Ikon besar
Digunakan dalam tampilan ikon untuk ikon berukuran penuh.
Ikon kecil
Digunakan dalam ikon kecil, daftar, dan tampilan laporan untuk versi ikon yang lebih kecil yang digunakan dalam tampilan ikon.
Status yang ditentukan aplikasi
Berisi gambar status, yang ditampilkan di samping ikon item untuk menunjukkan status yang ditentukan aplikasi.
Item header
Digunakan dalam tampilan laporan untuk gambar kecil yang muncul di setiap item kontrol header.
Secara default, kontrol tampilan daftar menghancurkan daftar gambar yang ditetapkan saat dihancurkan; namun, pengembang dapat menyesuaikan perilaku ini dengan menghancurkan setiap daftar gambar ketika tidak lagi digunakan, seperti yang ditentukan oleh aplikasi. Untuk informasi selengkapnya, lihat Menggunakan CListCtrl
: Daftar Item dan Daftar Gambar.
Hierarki Warisan
CListCtrl
Persyaratan
Header: afxcmn.h
CListCtrl::ApproximateViewRect
Menentukan lebar dan tinggi yang diperlukan untuk menampilkan item kontrol tampilan daftar.
CSize ApproximateViewRect(
CSize sz = CSize(-1, -1),
int iCount = -1) const;
Parameter
sz
Dimensi kontrol yang diusulkan, dalam piksel. Jika dimensi tidak ditentukan, kerangka kerja menggunakan nilai lebar atau tinggi kontrol saat ini.
iCount
Jumlah item yang akan ditampilkan dalam kontrol. Teruskan -1 untuk menggunakan jumlah total item yang saat ini berada dalam kontrol.
Tampilkan Nilai
Objek CSize
yang berisi perkiraan lebar dan tinggi yang diperlukan untuk menampilkan item, dalam piksel.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_ApproximateViewRect
seperti yang dijelaskan dalam Windows SDK.
CListCtrl::Arrange
Memposisikan ulang item dalam tampilan ikon sehingga selaras pada kisi.
BOOL Arrange(UINT nCode);
Parameter
nCode
Menentukan gaya perataan untuk item. Jenis dapat berupa salah satu dari nilai berikut:
LVA_ALIGNLEFT
Meratakan item di sepanjang tepi kiri jendela.LVA_ALIGNTOP
Meratakan item di sepanjang tepi atas jendela.LVA_DEFAULT
Meratakan item sesuai dengan gaya perataan tampilan daftar saat ini (nilai default).LVA_SNAPTOGRID
Memposisikan semua ikon ke posisi kisi terdekat.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Parameter nCode
menentukan gaya perataan.
Contoh
// Align all of the list view control items along the top
// of the window (the list view control must be in icon or
// small icon mode).
m_myListCtrl.Arrange(LVA_ALIGNTOP);
CListCtrl::CancelEditLabel
Membatalkan operasi pengeditan teks item.
void CancelEditLabel();
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_CANCELEDITLABEL
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::CListCtrl
Membuat CListCtrl
objek.
CListCtrl();
CListCtrl::Create
Membuat kontrol daftar dan melampirkannya ke CListCtrl
objek.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
dwStyle
Menentukan gaya kontrol daftar. Terapkan kombinasi gaya kontrol daftar apa pun ke kontrol. Lihat Gaya jendela tampilan daftar di Windows SDK untuk daftar lengkap gaya ini. Atur gaya yang diperluas khusus untuk kontrol menggunakan SetExtendedStyle
.
rect
Menentukan ukuran dan posisi kontrol daftar. Ini bisa berupa CRect
objek atau RECT
struktur.
pParentWnd
Menentukan jendela induk kontrol daftar, biasanya .CDialog
Ini tidak boleh NULL.
nID
Menentukan ID kontrol daftar.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Anda membangun CListCtrl
dalam dua langkah. Pertama, panggil konstruktor lalu panggil Create
, yang membuat kontrol tampilan daftar dan melampirkannya ke CListCtrl
objek.
Untuk menerapkan gaya Windows yang diperluas ke objek kontrol daftar, panggil CreateEx
alih-alih Create
.
Contoh
m_myListCtrl.Create(
WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS,
CRect(10,10,400,200), pParentWnd, IDD_MYLISTCTRL);
CListCtrl::CreateEx
Membuat kontrol (jendela anak) dan mengaitkannya dengan CListCtrl
objek.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
dwExStyle
Menentukan gaya kontrol yang diperluas yang sedang dibuat. Untuk daftar gaya Windows yang diperluas, lihat parameter dwExStyle untuk CreateWindowEx
di Windows SDK.
dwStyle
Menentukan gaya kontrol daftar. Terapkan kombinasi gaya kontrol daftar apa pun ke kontrol. Untuk daftar lengkap gaya ini, lihat Mencantumkan gaya jendela tampilan di Windows SDK.
rect
Referensi ke struktur yang RECT
menjelaskan ukuran dan posisi jendela yang akan dibuat, dalam koordinat klien .pParentWnd
pParentWnd
Penunjuk ke jendela yang merupakan induk kontrol.
nID
ID jendela anak kontrol.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Gunakan CreateEx
alih-alih Create
untuk menerapkan gaya Windows yang diperluas, yang ditentukan oleh preface WS_EX_
gaya windows yang diperluas .
CreateEx
membuat kontrol dengan gaya Windows yang diperluas yang ditentukan oleh dwExStyle
. Untuk mengatur gaya yang diperluas khusus untuk kontrol, panggil SetExtendedStyle
. Misalnya, gunakan CreateEx
untuk mengatur gaya seperti WS_EX_CONTEXTHELP, tetapi gunakan SetExtendedStyle
untuk mengatur gaya seperti LVS_EX_FULLROWSELECT. Untuk informasi selengkapnya, lihat gaya yang dijelaskan dalam artikel Gaya Tampilan Daftar diperluas di Windows SDK.
CListCtrl::CreateDragImage
Membuat daftar gambar seret untuk item yang ditentukan oleh nItem
.
CImageList* CreateDragImage(
int nItem,
LPPOINT lpPoint);
Parameter
nItem
Indeks item yang daftar gambar seretnya akan dibuat.
lpPoint
POINT
Alamat struktur yang menerima lokasi awal sudut kiri atas gambar, dalam koordinat tampilan.
Tampilkan Nilai
Penunjuk ke daftar gambar seret jika berhasil; jika tidak NULL
.
Keterangan
Objek CImageList
bersifat permanen, dan Anda harus menghapusnya setelah selesai. Contohnya:
CImageList* pImageList = m_myListCtrl.CreateDragImage(nItem, &point);
// do something
delete pImageList;
CListCtrl::DeleteAllItems
Menghapus semua item dari kontrol tampilan daftar.
BOOL DeleteAllItems();
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Contoh
// Delete all of the items from the list view control.
m_myListCtrl.DeleteAllItems();
ASSERT(m_myListCtrl.GetItemCount() == 0);
CListCtrl::DeleteColumn
Menghapus kolom dari kontrol tampilan daftar.
BOOL DeleteColumn(int nCol);
Parameter
nCol
Indeks kolom yang akan dihapus.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Contoh
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();
// Delete all of the columns.
for (int i=0; i < nColumnCount; i++)
{
m_myListCtrl.DeleteColumn(0);
}
CListCtrl::DeleteItem
Menghapus item dari kontrol tampilan daftar.
BOOL DeleteItem(int nItem);
Parameter
nItem
Menentukan indeks item yang akan dihapus.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Contoh
int nCount = m_myListCtrl.GetItemCount();
// Delete all of the items from the list view control.
for (int i=0; i < nCount; i++)
{
m_myListCtrl.DeleteItem(0);
}
CListCtrl::DrawItem
Dipanggil oleh kerangka kerja saat aspek visual kontrol tampilan daftar gambar pemilik berubah.
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
Parameter
lpDrawItemStruct
Penunjuk panjang ke DRAWITEMSTRUCT
struktur yang berisi informasi tentang jenis gambar yang diperlukan.
Keterangan
Anggota itemAction
DRAWITEMSTRUCT
struktur mendefinisikan tindakan menggambar yang akan dilakukan.
Secara default, fungsi anggota ini tidak melakukan apa pun. Ambil alih fungsi anggota ini untuk mengimplementasikan gambar untuk objek gambar CListCtrl
pemilik.
Aplikasi harus memulihkan semua objek antarmuka perangkat grafis (GDI) yang dipilih untuk konteks tampilan yang disediakan sebelum lpDrawItemStruct
fungsi anggota ini berakhir.
CListCtrl::EditLabel
Memulai pengeditan teks item di tempat.
CEdit* EditLabel(int nItem);
Parameter
nItem
Indeks item tampilan daftar yang akan diedit.
Tampilkan Nilai
Jika berhasil, penunjuk ke CEdit
objek yang digunakan untuk mengedit teks item; jika tidak NULL
.
Keterangan
Kontrol tampilan daftar yang memiliki LVS_EDITLABELS
gaya jendela memungkinkan pengguna mengedit label item di tempat. Pengguna mulai mengedit dengan mengklik label item yang memiliki fokus.
Gunakan fungsi ini untuk memulai pengeditan teks item tampilan daftar yang ditentukan di tempat.
Contoh
// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();
// Show the edit control on the label of the first
// item in the list view control.
CEdit* pmyEdit = m_myListCtrl.EditLabel(1);
ASSERT(pmyEdit != NULL);
CListCtrl::EnableGroupView
Mengaktifkan atau menonaktifkan apakah item dalam tampilan kontrol tampilan daftar ditampilkan sebagai grup.
LRESULT EnableGroupView(BOOL fEnable);
Parameter
fEnable
Menunjukkan apakah akan mengaktifkan kontrol tampilan daftar untuk mengelompokkan item yang ditampilkan. TRUE
untuk mengaktifkan pengelompokan; FALSE
untuk menonaktifkannya.
Tampilkan Nilai
Mengembalikan salah satu nilai berikut:
- 0 Kemampuan untuk menampilkan item tampilan daftar sebagai grup sudah diaktifkan atau dinonaktifkan.
- 1 Status kontrol berhasil diubah.
- -1 Operasi gagal.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_ENABLEGROUPVIEW
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::EnsureVisible
Memastikan bahwa item tampilan daftar setidaknya terlihat sebagian.
BOOL EnsureVisible(
int nItem,
BOOL bPartialOK);
Parameter
nItem
Indeks item tampilan daftar yang akan terlihat.
bPartialOK
Menentukan apakah visibilitas parsial dapat diterima.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Kontrol tampilan daftar digulir jika perlu. Jika parameter bPartialOK bukan nol, tidak ada pengguliran yang terjadi jika item terlihat sebagian.
Contoh
// Ensure that the last item is visible.
int nCount = m_myListCtrl.GetItemCount();
if (nCount > 0)
m_myListCtrl.EnsureVisible(nCount-1, FALSE);
CListCtrl::FindItem
Mencari item tampilan daftar yang memiliki karakteristik yang ditentukan.
int FindItem(
LVFINDINFO* pFindInfo,
int nStart = -1) const;
Parameter
pFindInfo
Penunjuk ke struktur yang LVFINDINFO
berisi informasi tentang item yang akan dicari.
nStart
Indeks item untuk memulai pencarian dengan, atau -1 untuk memulai dari awal. Item di dikecualikan nStart
dari pencarian jika nStart
tidak sama dengan -1.
Tampilkan Nilai
Indeks item jika berhasil atau -1 sebaliknya.
Keterangan
Parameter pFindInfo
menunjuk ke LVFINDINFO
struktur, yang berisi informasi yang digunakan untuk mencari item tampilan daftar.
Contoh
LVFINDINFO info;
int nIndex;
info.flags = LVFI_PARTIAL|LVFI_STRING;
info.psz = _T("item");
// Delete all of the items that begin with the string.
while ((nIndex = m_myListCtrl.FindItem(&info)) != -1)
{
m_myListCtrl.DeleteItem(nIndex);
}
CListCtrl::GetBkColor
Mengambil warna latar belakang kontrol tampilan daftar.
COLORREF GetBkColor() const;
Tampilkan Nilai
Nilai 32-bit yang digunakan untuk menentukan warna RGB.
Contoh
Lihat contoh untuk CListCtrl::SetBkColor
.
CListCtrl::GetBkImage
Mengambil gambar latar belakang kontrol tampilan daftar saat ini.
BOOL GetBkImage(LVBKIMAGE* plvbkImage) const;
Parameter
plvbkImage
Penunjuk ke struktur yang LVBKIMAGE
berisi gambar latar belakang tampilan daftar saat ini.
Tampilkan Nilai
Mengembalikan bukan nol jika berhasil, atau nol sebaliknya.
Keterangan
Metode ini mengimplementasikan perilaku makro Win32, , ListView_GetBkImage
seperti yang dijelaskan dalam Windows SDK.
Contoh
LVBKIMAGE bki;
// If no background image is set for the list view control use
// the Microsoft homepage image as the background image.
if (m_myListCtrl.GetBkImage(&bki) && (bki.ulFlags == LVBKIF_SOURCE_NONE))
{
m_myListCtrl.SetBkImage(
_T("https://www.microsoft.com/library/images/gifs/homepage/microsoft.gif"),
TRUE);
}
CListCtrl::GetCallbackMask
Mengambil masker panggilan balik untuk kontrol tampilan daftar.
UINT GetCallbackMask() const;
Tampilkan Nilai
Masker panggilan balik kontrol tampilan daftar.
Keterangan
"Item panggilan balik" adalah item tampilan daftar yang aplikasinya—bukan kontrol—menyimpan teks, ikon, atau keduanya. Meskipun kontrol tampilan daftar dapat menyimpan atribut ini untuk Anda, Anda mungkin ingin menggunakan item panggilan balik jika aplikasi Anda sudah mempertahankan beberapa informasi ini. Masker panggilan balik menentukan bit status item mana yang dikelola oleh aplikasi, dan berlaku untuk seluruh kontrol daripada ke item tertentu. Masker panggilan balik adalah nol secara default, yang berarti bahwa kontrol melacak semua status item. Jika aplikasi menggunakan item panggilan balik atau menentukan masker panggilan balik nonzero, aplikasi harus dapat menyediakan atribut item tampilan daftar sesuai permintaan.
Contoh
Lihat contoh untuk CListCtrl::SetCallbackMask
.
CListCtrl::GetCheck
Mengambil status tampilan gambar status saat ini yang terkait dengan item.
BOOL GetCheck(int nItem) const;
Parameter
nItem
Indeks berbasis nol dari item kontrol daftar.
Tampilkan Nilai
Bukan nol jika item dipilih, jika tidak, 0.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_GetCheckState
seperti yang dijelaskan dalam Windows SDK.
Contoh
Lihat contoh untuk CListCtrl::SetCheck
.
CListCtrl::GetColumn
Mengambil atribut kolom kontrol tampilan daftar.
BOOL GetColumn(
int nCol,
LVCOLUMN* pColumn) const;
Parameter
nCol
Indeks kolom yang atributnya akan diambil.
pColumn
LVCOLUMN
Alamat struktur yang menentukan informasi untuk mengambil dan menerima informasi tentang kolom. Anggota mask
menentukan atribut kolom mana yang akan diambil. mask
Jika anggota menentukan nilai LVCF_TEXT, pszText
anggota harus berisi alamat buffer yang menerima teks item dan cchTextMax
anggota harus menentukan ukuran buffer.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Struktur LVCOLUMN
berisi informasi tentang kolom dalam tampilan laporan.
Contoh
LVCOLUMN col;
col.mask = LVCF_WIDTH;
// Double the column width of the first column.
if (m_myListCtrl.GetColumn(0, &col))
{
col.cx *= 2;
m_myListCtrl.SetColumn(0, &col);
}
CListCtrl::GetColumnOrderArray
Mengambil urutan kolom (kiri ke kanan) dari kontrol tampilan daftar.
BOOL GetColumnOrderArray(
LPINT piArray,
int iCount = -1);
Parameter
piArray
Penunjuk ke buffer yang akan berisi nilai indeks kolom dalam kontrol tampilan daftar. Buffer harus cukup besar untuk berisi jumlah total kolom dalam kontrol tampilan daftar.
iCount
Jumlah kolom dalam kontrol tampilan daftar. Jika parameter ini adalah -1, jumlah kolom secara otomatis diambil oleh kerangka kerja.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_GetColumnOrderArray
seperti yang dijelaskan dalam Windows SDK.
Contoh
// Reverse the order of the columns in the list view control
// (i.e. make the first column the last, the last column
// the first, and so on...).
CHeaderCtrl* pHeaderCtrl = m_myListCtrl.GetHeaderCtrl();
if (pHeaderCtrl != NULL)
{
int nColumnCount = pHeaderCtrl->GetItemCount();
LPINT pnOrder = (LPINT) malloc(nColumnCount*sizeof(int));
ASSERT(pnOrder != NULL);
m_myListCtrl.GetColumnOrderArray(pnOrder, nColumnCount);
int i, j, nTemp;
for (i = 0, j = nColumnCount-1; i < j; i++, j--)
{
nTemp = pnOrder[i];
pnOrder[i] = pnOrder[j];
pnOrder[j] = nTemp;
}
m_myListCtrl.SetColumnOrderArray(nColumnCount, pnOrder);
free(pnOrder);
}
CListCtrl::GetColumnWidth
Mengambil lebar kolom dalam tampilan laporan atau tampilan daftar.
int GetColumnWidth(int nCol) const;
Parameter
nCol
Menentukan indeks kolom yang lebarnya akan diambil.
Tampilkan Nilai
Lebar, dalam piksel, dari kolom yang ditentukan oleh nCol
.
Contoh
// Increase the column width of the second column by 20.
int nWidth = m_myListCtrl.GetColumnWidth(1);
m_myListCtrl.SetColumnWidth(1, 20 + nWidth);
CListCtrl::GetCountPerPage
Menghitung jumlah item yang bisa pas secara vertikal di area terlihat dari kontrol tampilan daftar saat dalam tampilan daftar atau tampilan laporan.
int GetCountPerPage() const;
Tampilkan Nilai
Jumlah item yang bisa pas secara vertikal di area yang terlihat dari kontrol tampilan daftar saat dalam tampilan daftar atau tampilan laporan.
Contoh
Lihat contoh untuk CListCtrl::GetTopIndex
.
CListCtrl::GetEditControl
Mengambil handel kontrol edit yang digunakan untuk mengedit teks item tampilan daftar.
CEdit* GetEditControl() const;
Tampilkan Nilai
Jika berhasil, penunjuk ke CEdit
objek yang digunakan untuk mengedit teks item; jika tidak NULL
.
Contoh
// The string replacing the text in the edit control.
LPCTSTR lpszmyString = _T("custom label!");
// If possible, replace the text in the label edit control.
CEdit* pEdit = m_myListCtrl.GetEditControl();
if (pEdit != NULL)
{
pEdit->SetWindowText(lpszmyString);
}
CListCtrl::GetEmptyText
Mengambil string untuk ditampilkan jika kontrol tampilan daftar saat ini kosong.
CString GetEmptyText() const;
Tampilkan Nilai
Yang CString
berisi teks yang akan ditampilkan jika kontrol kosong.
Keterangan
Metode ini mengirim LVM_GETEMPTYTEXT
pesan, yang dijelaskan dalam Windows SDK.
CListCtrl::GetExtendedStyle
Mengambil gaya kontrol tampilan daftar yang diperluas saat ini.
DWORD GetExtendedStyle();
Tampilkan Nilai
Kombinasi gaya yang diperluas yang saat ini digunakan oleh kontrol tampilan daftar. Untuk daftar deskriptif gaya yang diperluas ini, lihat artikel Gaya Tampilan Daftar yang Diperluas di Windows SDK.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_GetExtendedListViewStyle
seperti yang dijelaskan dalam Windows SDK.
Contoh
Lihat contoh untuk CListCtrl::SetExtendedStyle
.
CListCtrl::GetFirstSelectedItemPosition
Mendapatkan posisi item pertama yang dipilih dalam kontrol tampilan daftar.
POSITION GetFirstSelectedItemPosition() const;
Tampilkan Nilai
Nilai POSITION
yang dapat digunakan untuk perulangan atau pengambilan penunjuk objek; NULL
jika tidak ada item yang dipilih.
Contoh
Sampel kode berikut menunjukkan penggunaan fungsi ini.
POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
TRACE(_T("No items were selected!\n"));
}
else
{
while (pos)
{
int nItem = m_myListCtrl.GetNextSelectedItem(pos);
TRACE(_T("Item %d was selected!\n"), nItem);
// you could do your own processing on nItem here
}
}
CListCtrl::GetFocusedGroup
Mengambil grup yang memiliki fokus keyboard dalam kontrol tampilan daftar saat ini.
int GetFocusedGroup() const;
Tampilkan Nilai
Indeks grup yang statusnya adalah LVGS_FOCUSED
, jika ada grup seperti itu; jika tidak, -1.
Keterangan
Metode ini mengirim LVM_GETFOCUSEDGROUP
pesan, yang dijelaskan dalam Windows SDK. Untuk informasi selengkapnya, lihat LVGS_FOCUSED
nilai state
anggota LVGROUP
struktur.
CListCtrl::GetGroupCount
Mengambil jumlah grup dalam kontrol tampilan daftar saat ini.
int GetGroupCount()const;
Tampilkan Nilai
Jumlah grup dalam kontrol tampilan daftar.
Keterangan
Metode ini mengirim LVM_GETGROUPCOUNT
pesan, yang dijelaskan di Windows SDK -->.
CListCtrl::GetGroupInfo
Mendapatkan informasi untuk grup kontrol tampilan daftar tertentu.
int GetGroupInfo(
int iGroupId,
PLVGROUP pgrp) const;
Parameter
iGroupId
Pengidentifikasi grup yang informasinya akan diambil.
pgrp
Penunjuk ke LVGROUP
informasi yang berisi pada grup yang ditentukan.
Tampilkan Nilai
Mengembalikan ID grup jika berhasil, atau -1 jika tidak.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_GETGROUPINFO
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::GetGroupInfoByIndex
Mengambil informasi tentang grup tertentu dalam kontrol tampilan daftar saat ini.
BOOL GetGroupInfoByIndex(
int iIndex,
PLVGROUP pGroup) const;
Parameter
iIndex
[di] Indeks berbasis nol grup.
pGroup
[out] Penunjuk ke struktur LVGROUP yang menerima informasi tentang grup yang ditentukan oleh parameter iIndex . Pemanggil bertanggung jawab untuk menginisialisasi anggota struktur LVGROUP . Atur cbSize
anggota ke ukuran struktur, dan bendera mask
anggota untuk menentukan informasi yang akan diambil.
Tampilkan Nilai
TRUE
jika metode ini berhasil; jika tidak, FALSE
.
Keterangan
Metode ini mengirim LVM_GETGROUPINFOBYINDEX
pesan, yang dijelaskan di Windows SDK -->.
Contoh
Contoh kode pertama mendefinisikan variabel, m_listCtrl
, yang digunakan untuk mengakses kontrol tampilan daftar saat ini. Variabel ini digunakan dalam contoh berikutnya.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
Contoh kode berikutnya menunjukkan GetGroupInfoByIndex
metode . Di bagian sebelumnya dari contoh kode ini, kami membuat kontrol tampilan daftar yang menampilkan dua kolom berjudul "ClientID" dan "Grade" dalam tampilan laporan. Contoh kode berikut mengambil informasi tentang grup yang indeksnya adalah 0, jika grup tersebut ada.
// GetGroupInfoByIndex
const int GROUP_HEADER_BUFFER_SIZE = 40;
// Initialize the structure
LVGROUP gInfo = {0};
gInfo.cbSize = sizeof(LVGROUP);
wchar_t wstrHeadGet[GROUP_HEADER_BUFFER_SIZE] = {0};
gInfo.cchHeader = GROUP_HEADER_BUFFER_SIZE;
gInfo.pszHeader = wstrHeadGet;
gInfo.mask = (LVGF_ALIGN | LVGF_STATE | LVGF_HEADER | LVGF_GROUPID);
gInfo.state = LVGS_NORMAL;
gInfo.uAlign = LVGA_HEADER_LEFT;
BOOL bRet = m_listCtrl.GetGroupInfoByIndex( 0, &gInfo );
if (bRet == TRUE) {
CString strHeader = CString( gInfo.pszHeader );
CString str;
str.Format(_T("Header: '%s'"), strHeader);
AfxMessageBox(str, MB_ICONINFORMATION);
}
else
{
AfxMessageBox(_T("No group information was retrieved."));
}
CListCtrl::GetGroupMetrics
Mengambil metrik grup.
void GetGroupMetrics(PLVGROUPMETRICS pGroupMetrics) const;
Parameter
pGroupMetrics
Penunjuk ke yang LVGROUPMETRICS
berisi informasi metrik grup.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_GETGROUPMETRICS
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::GetGroupRect
Mengambil persegi panjang pembatas untuk grup tertentu dalam kontrol tampilan daftar saat ini.
BOOL GetGroupRect(
int iGroupId,
LPRECT lpRect,
int iCoords = LVGGR_GROUP) const;
Parameter
iGroupId
[di] Menentukan grup.
lpRect
[masuk, keluar] Penunjuk RECT
ke struktur. Jika metode ini berhasil, struktur menerima koordinat persegi panjang grup yang ditentukan oleh iGroupId
.
iCoords
[di] Menentukan koordinat persegi panjang yang akan diambil. Gunakan salah satu nilai ini:
LVGGR_GROUP
- (Default) Koordinat seluruh grup yang diperluas.LVGGR_HEADER
- Koordinat hanya header (grup yang diciutkan).LVGGR_SUBSETLINK
- Koordinat hanya dari tautan subset (subset markup).
Tampilkan Nilai
TRUE
jika metode ini berhasil; jika tidak, FALSE
.
Keterangan
Pemanggil bertanggung jawab untuk mengalokasikan struktur yang RECT
ditujukkan oleh pRect
parameter .
Metode ini mengirim LVM_GETGROUPRECT
pesan, yang dijelaskan dalam Windows SDK.
Contoh
Contoh kode pertama mendefinisikan variabel, m_listCtrl
, yang digunakan untuk mengakses kontrol tampilan daftar saat ini. Variabel ini digunakan dalam contoh berikutnya.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
Contoh kode berikutnya menunjukkan GetGroupRect
metode . Di bagian sebelumnya dari contoh kode ini, kami membuat kontrol tampilan daftar yang menampilkan dua kolom berjudul "ClientID" dan "Grade" dalam tampilan laporan. Contoh kode berikut menggambar persegi panjang 3D di sekitar grup yang indeksnya adalah 0, jika grup seperti itu ada.
// GetGroupRect
// Get the graphics rectangle that surrounds group 0.
CRect rect;
BOOL bRet = m_listCtrl.GetGroupRect( 0, &rect, LVGGR_GROUP);
// Draw a blue rectangle around group 0.
if (bRet == TRUE) {
m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(0, 0, 255), RGB(0, 0, 255));
}
else {
AfxMessageBox(_T("No group information was retrieved."), MB_ICONINFORMATION);
}
CListCtrl::GetGroupState
Mengambil status untuk grup tertentu dalam kontrol tampilan daftar saat ini.
UINT GetGroupState(
int iGroupId,
DWORD dwMask) const;
Parameter
iGroupId
[di] Indeks berbasis nol grup.
dwMask
[di] Masker yang menentukan nilai status yang akan diambil untuk grup yang ditentukan. Untuk informasi selengkapnya, lihat mask
anggota LVGROUP
struktur.
Tampilkan Nilai
Status yang diminta untuk grup yang ditentukan, atau 0 jika grup tidak dapat ditemukan.
Keterangan
Nilai yang dikembalikan adalah hasil operasi bitwise AND pada dwMask
parameter dan nilai anggota state
LVGROUP
struktur yang mewakili kontrol tampilan daftar saat ini.
Metode ini mengirim LVM_GETGROUPSTATE
pesan, yang dijelaskan dalam Windows SDK. Untuk informasi selengkapnya, lihat ListView_GetGroupState
makro.
CListCtrl::GetHeaderCtrl
Mengambil kontrol header kontrol tampilan daftar.
CHeaderCtrl* GetHeaderCtrl();
Tampilkan Nilai
Penunjuk ke kontrol header, digunakan oleh kontrol tampilan daftar.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_GetHeader
seperti yang dijelaskan dalam Windows SDK.
Contoh
Lihat contoh untuk CListCtrl::GetColumnOrderArray
.
CListCtrl::GetHotCursor
Mengambil kursor yang digunakan saat pelacakan panas diaktifkan untuk kontrol tampilan daftar.
HCURSOR GetHotCursor();
Tampilkan Nilai
Handel ke sumber daya kursor panas saat ini yang digunakan oleh kontrol tampilan daftar.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_GetHotCursor
seperti yang dijelaskan dalam Windows SDK. Kursor panas, hanya terlihat saat pemilihan hover diaktifkan, muncul saat kursor melewati item tampilan daftar apa pun. Pilihan hover diaktifkan dengan mengatur gaya LVS_EX_TRACKSELECT diperluas.
Contoh
// Set the hot cursor to be the system app starting cursor.
HCURSOR hCursor = ::LoadCursor(NULL, IDC_APPSTARTING);
m_myListCtrl.SetHotCursor(hCursor);
ASSERT(m_myListCtrl.GetHotCursor() == hCursor);
CListCtrl::GetHotItem
Mengambil item tampilan daftar yang saat ini berada di bawah kursor.
int GetHotItem();
Tampilkan Nilai
Indeks item panas saat ini dari kontrol tampilan daftar.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_GetHotItem
seperti yang dijelaskan dalam Windows SDK. Item panas didefinisikan sebagai item yang saat ini dipilih saat pelacakan panas (dan pilihan hover) diaktifkan.
Jika pelacakan panas diaktifkan, saat pengguna menjeda item tampilan daftar, label item secara otomatis disorot tanpa menggunakan tombol mouse.
Contoh
// Set the hot item to the first item only if no other item is
// highlighted.
if (m_myListCtrl.GetHotItem() == -1)
m_myListCtrl.SetHotItem(0);
CListCtrl::GetHoverTime
Mengambil waktu hover kontrol tampilan daftar saat ini.
DWORD GetHoverTime() const;
Tampilkan Nilai
Mengembalikan penundaan, dalam milidetik, yang harus diarahkan kursor mouse ke item sebelum dipilih. Jika nilai yang dikembalikan adalah -1, maka waktu hover adalah waktu hover default.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_GetHoverTime
seperti yang dijelaskan dalam Windows SDK.
Contoh
// If the hover time is the default set to 1 sec.
DWORD dwTime = m_myListCtrl.GetHoverTime();
if (dwTime == -1)
m_myListCtrl.SetHoverTime(1000);
CListCtrl::GetImageList
Mengambil handel daftar gambar yang digunakan untuk menggambar item tampilan daftar.
CImageList* GetImageList(int nImageList) const;
Parameter
nImageList
Nilai yang menentukan daftar gambar mana yang akan diambil. Ini bisa menjadi salah satu nilai ini:
LVSIL_NORMAL
Daftar gambar dengan ikon besar.LVSIL_SMALL
Daftar gambar dengan ikon kecil.LVSIL_STATE
Daftar gambar dengan gambar status.
Tampilkan Nilai
Penunjuk ke daftar gambar yang digunakan untuk menggambar item tampilan daftar.
Contoh
ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == NULL);
m_myListCtrl.SetImageList(&m_lcImageList, LVSIL_NORMAL);
ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == &m_lcImageList);
CListCtrl::GetInsertMark
Mengambil posisi tanda penyisipan saat ini.
BOOL GetInsertMark(LPLVINSERTMARK plvim) const;
Parameter
plvim
Penunjuk ke struktur yang LVINSERTMARK
berisi informasi untuk tanda sisipkan.
Tampilkan Nilai
Mengembalikan TRUE
jika berhasil, atau FALSE
sebaliknya. FALSE
dikembalikan jika ukuran dalam cbSize
anggota LVINSERTMARK
struktur tidak sama dengan ukuran struktur yang sebenarnya.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_GETINSERTMARK
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::GetInsertMarkColor
Mengambil warna tanda penyisipan saat ini.
COLORREF GetInsertMarkColor() const;
Tampilkan Nilai
Mengembalikan COLORREF
struktur yang berisi warna titik penyisipan.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_GETINSERTMARKCOLOR
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::GetInsertMarkRect
Mengambil persegi panjang yang mengikat titik penyisipan.
int GetInsertMarkRect(LPRECT pRect) const;
Parameter
pRect
Penunjuk ke RECT
struktur yang berisi koordinat persegi panjang yang mengikat titik penyisipan.
Tampilkan Nilai
Mengembalikan salah satu nilai berikut:
- 0 Tidak ditemukan titik penyisipan.
- 1 Titik penyisipan ditemukan.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_GETINSERTMARKRECT
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::GetItem
Mengambil beberapa atau semua atribut item tampilan daftar.
BOOL GetItem(LVITEM* pItem) const;
Parameter
pItem
Penunjuk LVITEM
ke struktur yang menerima atribut item.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Struktur LVITEM
menentukan atau menerima atribut item tampilan daftar.
CListCtrl::GetItemCount
Mengambil jumlah item dalam kontrol tampilan daftar.
int GetItemCount() const;
Tampilkan Nilai
Jumlah item dalam kontrol tampilan daftar.
Contoh
Lihat contoh untuk CListCtrl::DeleteItem
.
CListCtrl::GetItemData
Mengambil nilai khusus aplikasi 32-bit (64-bit jika Anda mengkompilasi untuk x64) yang terkait dengan item yang ditentukan oleh nItem
.
DWORD_PTR GetItemData(int nItem) const;
Parameter
nItem
Indeks item daftar yang datanya akan diambil.
Tampilkan Nilai
Nilai khusus aplikasi 32-bit (64-bit jika Anda mengkompilasi untuk x64) yang terkait dengan item yang ditentukan.
Keterangan
Nilai ini adalah lParam
anggota struktur, seperti yang LVITEM
dijelaskan dalam Windows SDK
Contoh
// If any item's data is equal to zero then reset it to -1.
for (int i=0; i < m_myListCtrl.GetItemCount(); i++)
{
if (m_myListCtrl.GetItemData(i) == 0)
{
m_myListCtrl.SetItemData(i, (DWORD) -1);
}
}
CListCtrl::GetItemIndexRect
Mengambil persegi panjang pembatas untuk semua atau sebagian subitem dalam kontrol tampilan daftar saat ini.
BOOL GetItemIndexRect(
PLVITEMINDEX pItemIndex,
int iColumn,
int rectType,
LPRECT pRect) const;
Parameter
pItemIndex
[di] Penunjuk LVITEMINDEX
ke struktur untuk item induk subitem. Pemanggil bertanggung jawab untuk mengalokasikan dan mengatur anggota LVITEMINDEX
struktur. Parameter ini tidak boleh NULL
.
iColumn
[di] Indeks berbasis nol kolom dalam kontrol.
rectType
[di] Bagian subitem tampilan daftar tempat persegi panjang pembatas diambil. Tentukan salah satu nilai berikut:
LVIR_BOUNDS
- Mengembalikan persegi panjang pembatas seluruh subitem, termasuk ikon dan label.LVIR_ICON
- Mengembalikan persegi panjang pembatas ikon atau ikon kecil subitem.LVIR_LABEL
- Mengembalikan persegi panjang pembatas teks subitem.
pRect
[out] Penunjuk ke RECT
struktur yang menerima informasi tentang persegi panjang batas subitem. Pemanggil bertanggung jawab untuk mengalokasikan RECT
struktur. Parameter ini tidak boleh NULL
.
Tampilkan Nilai
TRUE
jika metode ini berhasil; jika tidak, FALSE
.
Keterangan
Metode ini mengirim LVM_GETITEMINDEXRECT
pesan, yang dijelaskan dalam Windows SDK. Untuk informasi selengkapnya, lihat ListView_GetItemIndexRect
Makro.
Contoh
Contoh kode pertama mendefinisikan variabel, m_listCtrl
, yang digunakan untuk mengakses kontrol tampilan daftar saat ini. Variabel ini digunakan dalam contoh berikutnya.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
Contoh kode berikutnya menunjukkan GetGroupRect
metode . Sebelum memasukkan contoh kode ini, kami membuat kontrol tampilan daftar yang menampilkan dua kolom berjudul "ClientID" dan "Grade" dalam tampilan laporan. Contoh kode berikut menggambar persegi panjang 3D di sekitar subitem kedua di kedua kolom.
// GetItemIndexRect
// Get the rectangle that bounds the second item in the first group.
LVITEMINDEX lvItemIndex;
lvItemIndex.iGroup = 0;
lvItemIndex.iItem = 1;
CRect rect;
BOOL bRet = m_listCtrl.GetItemIndexRect(
&lvItemIndex, 0, LVIR_BOUNDS, &rect);
// Draw a red rectangle around the item.
m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(255, 0, 0), RGB(255, 0, 0) );
CListCtrl::GetItemPosition
Mengambil posisi item tampilan daftar.
BOOL GetItemPosition(
int nItem,
LPPOINT lpPoint) const;
Parameter
nItem
Indeks item yang posisinya akan diambil.
lpPoint
POINT
Alamat struktur yang menerima posisi sudut kiri atas item, dalam koordinat tampilan.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Contoh
POINT pt;
// Move all items in the list control 100 pixels to the right.
UINT i, nCount = m_myListCtrl.GetItemCount();
for (i=0; i < nCount; i++)
{
m_myListCtrl.GetItemPosition(i, &pt);
pt.x += 100;
m_myListCtrl.SetItemPosition(i, pt);
}
CListCtrl::GetItemRect
Mengambil persegi panjang pembatas untuk semua atau sebagian item dalam tampilan saat ini.
BOOL GetItemRect(
int nItem,
LPRECT lpRect,
UINT nCode) const;
Parameter
nItem
Indeks item yang posisinya akan diambil.
lpRect
RECT
Alamat struktur yang menerima persegi panjang pembatas.
nCode
Bagian dari item tampilan daftar untuk mengambil persegi panjang pembatas. Ini bisa menjadi salah satu nilai ini:
LVIR_BOUNDS
Mengembalikan persegi panjang pembatas dari seluruh item, termasuk ikon dan label.LVIR_ICON
Mengembalikan persegi panjang pembatas ikon atau ikon kecil.LVIR_LABEL
Mengembalikan persegi panjang pembatas teks item.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Contoh
// OnClick is the handler for the NM_CLICK notification
void CListCtrlDlg::OnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
UNREFERENCED_PARAMETER(pResult);
LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
// Get the current mouse location and convert it to client
// coordinates.
CPoint pos( ::GetMessagePos() );
ScreenToClient(&pos);
// Get indexes of the first and last visible items in
// the listview control.
int index = m_myListCtrl.GetTopIndex();
int last_visible_index = index + m_myListCtrl.GetCountPerPage();
if (last_visible_index > m_myListCtrl.GetItemCount())
last_visible_index = m_myListCtrl.GetItemCount();
// Loop until number visible items has been reached.
while (index <= last_visible_index)
{
// Get the bounding rectangle of an item. If the mouse
// location is within the bounding rectangle of the item,
// you know you have found the item that was being clicked.
CRect r;
m_myListCtrl.GetItemRect(index, &r, LVIR_BOUNDS);
if (r.PtInRect(pia->ptAction))
{
UINT flag = LVIS_SELECTED | LVIS_FOCUSED;
m_myListCtrl.SetItemState(index, flag, flag);
break;
}
// Get the next item in listview control.
index++;
}
}
CListCtrl::GetItemSpacing
Menghitung penspasian antar item dalam kontrol tampilan daftar saat ini.
BOOL GetItemSpacing(
BOOL fSmall,
int* pnHorzSpacing,
int* pnVertSpacing) const;
Parameter
fSmall
[di] Lihat untuk mengambil penspasian item. Tentukan TRUE
untuk tampilan ikon kecil, atau FALSE
untuk tampilan ikon.
pnHorzSpacing
[out] Berisi penspasian horizontal antar item.
pnVertSpacing
[out] Berisi penspasian vertikal antar item.
Tampilkan Nilai
TRUE
jika metode ini berhasil; jika tidak, FALSE
.
Keterangan
Metode ini mengirim LVM_GETITEMSPACING
pesan, yang dijelaskan dalam Windows SDK.
CListCtrl::GetItemState
Mengambil status item tampilan daftar.
UINT GetItemState(
int nItem,
UINT nMask) const;
Parameter
nItem
Indeks item yang statusnya akan diambil.
nMask
Masker menentukan bendera status item mana yang akan dikembalikan.
Tampilkan Nilai
Bendera status untuk item tampilan daftar yang ditentukan.
Keterangan
Status item ditentukan oleh state
anggota LVITEM
struktur, seperti yang dijelaskan dalam Windows SDK. Saat Anda menentukan atau mengubah status item, stateMask
anggota menentukan bit status mana yang ingin Anda ubah.
Contoh
Lihat contoh untuk CListCtrl::GetTopIndex
.
CListCtrl::GetItemText
Mengambil teks item tampilan daftar atau subitem.
int GetItemText(
int nItem,
int nSubItem,
LPTSTR lpszText,
int nLen) const;
CString GetItemText(
int nItem,
int nSubItem) const;
Parameter
nItem
Indeks item yang teksnya akan diambil.
nSubItem
Menentukan subitem yang teksnya akan diambil.
lpszText
Penunjuk ke string yang akan menerima teks item.
nLen
Panjang buffer yang diacu oleh lpszText
.
Tampilkan Nilai
Versi yang int
mengembalikan mengembalikan panjang string yang diambil.
Versi yang CString
mengembalikan teks item.
Keterangan
Jika nSubItem
nol, fungsi ini mengambil label item; jika nSubItem
bukan nol, fungsi ini mengambil teks subitem. Untuk informasi selengkapnya tentang argumen subitem, lihat diskusi LVITEM
struktur di Windows SDK.
CListCtrl::GetNextItem
Mencari item tampilan daftar yang memiliki properti yang ditentukan dan yang berisi hubungan yang ditentukan ke item tertentu.
int GetNextItem(
int nItem,
int nFlags) const;
Parameter
nItem
Indeks item untuk memulai pencarian dengan, atau -1 untuk menemukan item pertama yang cocok dengan bendera yang ditentukan. Item yang ditentukan itu sendiri dikecualikan dari pencarian.
nFlags
Hubungan geometrik item yang diminta ke item yang ditentukan, dan status item yang diminta. Hubungan geometrik dapat menjadi salah satu nilai ini:
LVNI_ABOVE
Mencari item yang berada di atas item yang ditentukan.LVNI_ALL
Mencari item berikutnya menurut indeks (nilai default).LVNI_BELOW
Mencari item yang berada di bawah item yang ditentukan.LVNI_TOLEFT
Mencari item di sebelah kiri item yang ditentukan.LVNI_TORIGHT
Mencari item di sebelah kanan item yang ditentukan.
Statusnya bisa nol, atau bisa satu atau beberapa nilai ini:
LVNI_DROPHILITED
Item memilikiLVIS_DROPHILITED
set bendera status.LVNI_FOCUSED
Item memilikiLVIS_FOCUSED
set bendera status.LVNI_SELECTED
Item memilikiLVIS_SELECTED
set bendera status.
Jika item tidak memiliki semua bendera status yang ditentukan, pencarian akan dilanjutkan dengan item berikutnya.
Tampilkan Nilai
Indeks item berikutnya jika berhasil, atau -1 jika tidak.
CListCtrl::GetNextItemIndex
Mengambil indeks item dalam kontrol tampilan daftar saat ini yang memiliki sekumpulan properti yang ditentukan.
BOOL GetNextItemIndex(
PLVITEMINDEX pItemIndex,
int nFlags) const;
Parameter
pItemIndex
[masuk, keluar] Arahkan ke LVITEMINDEX
struktur yang menjelaskan item tempat pencarian dimulai, atau -1 untuk menemukan item pertama yang cocok dengan bendera dalam parameter nFlags . Jika metode ini berhasil, LVITEMINDEX
struktur menjelaskan item yang ditemukan oleh pencarian.
nFlags
[di] Kombinasi bitwise (OR) bendera yang menentukan cara melakukan pencarian. Pencarian dapat bergantung pada indeks, status, atau tampilan item target, atau posisi fisik item target relatif terhadap item yang ditentukan oleh pItemIndex
parameter. Untuk informasi selengkapnya, lihat flags
parameter dalam LVM_GETNEXTITEMINDEX
pesan.
Tampilkan Nilai
TRUE
jika metode ini berhasil; jika tidak, FALSE
.
Keterangan
Pemanggil bertanggung jawab untuk mengalokasikan dan mengatur anggota struktur yang LVITEMINDEX
ditujukkan oleh pItemIndex
parameter .
Metode ini mengirim LVM_GETNEXTITEMINDEX
pesan, yang dijelaskan dalam Windows SDK.
CListCtrl::GetNextSelectedItem
Mendapatkan indeks item daftar yang diidentifikasi oleh pos
, lalu diatur pos
ke nilai POSISI.
int GetNextSelectedItem(POSITION& pos) const;
Parameter
pos
Referensi ke nilai POSITION yang dikembalikan oleh panggilan sebelumnya ke GetNextSelectedItem
atau GetFirstSelectedItemPosition
. Nilai diperbarui ke posisi berikutnya dengan panggilan ini.
Tampilkan Nilai
Indeks item daftar yang diidentifikasi oleh pos
.
Keterangan
Anda dapat menggunakan GetNextSelectedItem
dalam perulangan perulangan penerusan jika Anda membuat posisi awal dengan panggilan ke GetFirstSelectedItemPosition
.
Anda harus memastikan bahwa nilai Anda POSITION
valid. Jika tidak valid, maka versi Debug Pustaka Kelas Microsoft Foundation menegaskan.
Contoh
Sampel kode berikut menunjukkan penggunaan fungsi ini.
POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
TRACE(_T("No items were selected!\n"));
}
else
{
while (pos)
{
int nItem = m_myListCtrl.GetNextSelectedItem(pos);
TRACE(_T("Item %d was selected!\n"), nItem);
// you could do your own processing on nItem here
}
}
CListCtrl::GetNumberOfWorkAreas
Mengambil jumlah area kerja saat ini untuk kontrol tampilan daftar.
UINT GetNumberOfWorkAreas() const;
Tampilkan Nilai
Tidak digunakan saat ini.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_GetNumberOfWorkAreas
seperti yang dijelaskan dalam Windows SDK.
Contoh
UINT i, uCount = m_myListCtrl.GetNumberOfWorkAreas();
LPRECT lpRects = (LPRECT) malloc(uCount*sizeof(RECT));
if (lpRects != NULL)
{
// Dump all of the work area dimensions.
m_myListCtrl.GetWorkAreas(uCount, lpRects);
for (i=0; i < uCount; i++)
{
TRACE(_T("Work area %d; left = %d, top = %d, right = %d, ")
_T("bottom = %d\r\n"),
i, lpRects[i].left, lpRects[i].top, lpRects[i].right,
lpRects[i].bottom);
}
free(lpRects);
}
else
{
TRACE(_T("Couldn't allocate enough memory!"));
}
CListCtrl::GetOutlineColor
Mengambil warna batas kontrol tampilan daftar.
COLORREF GetOutlineColor() const;
Tampilkan Nilai
Mengembalikan struktur yang COLORREF
berisi warna kerangka.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_GETOUTLINECOLOR
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::GetOrigin
Mengambil asal tampilan saat ini untuk kontrol tampilan daftar.
BOOL GetOrigin(LPPOINT lpPoint) const;
Parameter
lpPoint
POINT
Alamat struktur yang menerima asal tampilan.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol. Namun, jika kontrol dalam tampilan laporan, nilai yang dikembalikan selalu nol.
CListCtrl::GetSelectedColumn
Mengambil indeks kolom yang saat ini dipilih dalam kontrol daftar.
UINT GetSelectedColumn() const;
Tampilkan Nilai
Indeks kolom yang dipilih.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_GETSELECTEDCOLUMN
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::GetSelectedCount
Mengambil jumlah item terpilih dalam kontrol tampilan daftar.
UINT GetSelectedCount() const;
Tampilkan Nilai
Jumlah item terpilih dalam kontrol tampilan daftar.
Contoh
UINT i, uSelectedCount = m_myListCtrl.GetSelectedCount();
int nItem = -1;
// Update all of the selected items.
if (uSelectedCount > 0)
{
for (i=0; i < uSelectedCount; i++)
{
nItem = m_myListCtrl.GetNextItem(nItem, LVNI_SELECTED);
ASSERT(nItem != -1);
m_myListCtrl.Update(nItem);
}
}
CListCtrl::GetSelectionMark
Mengambil tanda pilihan kontrol tampilan daftar.
int GetSelectionMark();
Tampilkan Nilai
Tanda pilihan berbasis nol, atau -1 jika tidak ada tanda pilihan.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_GetSelectionMark
seperti yang dijelaskan dalam Windows SDK.
Contoh
// Set the selection mark to the first item only if no other item is
// selected.
if (m_myListCtrl.GetSelectionMark() == -1)
m_myListCtrl.SetSelectionMark(0);
CListCtrl::GetStringWidth
Menentukan lebar kolom minimum yang diperlukan untuk menampilkan semua string tertentu.
int GetStringWidth(LPCTSTR lpsz) const;
Parameter
lpsz
Alamat string null-terminated yang lebarnya akan ditentukan.
Tampilkan Nilai
Lebar, dalam piksel, dari string yang ditujukkan oleh lpsz
.
Keterangan
Lebar yang dikembalikan memperhitungkan font dan margin kolom kontrol saat ini, tetapi bukan lebar ikon kecil.
Contoh
CString strColumn;
int nWidth;
// Insert six columns in the list view control. Make the width of
// the column be the width of the column header plus 50%.
for (int i = 0; i < 6; i++)
{
strColumn.Format(_T("column %d"), i);
nWidth = 3*m_myListCtrl.GetStringWidth(strColumn)/2;
m_myListCtrl.InsertColumn(i, strColumn, LVCFMT_LEFT, nWidth);
}
CListCtrl::GetSubItemRect
Mengambil persegi panjang pembatas item dalam kontrol tampilan daftar.
BOOL GetSubItemRect(
int iItem,
int iSubItem,
int nArea,
CRect& ref);
Parameter
iItem
Indeks item induk subitem.
iSubItem
Indeks berbasis satu subitem.
nArea
Menentukan bagian persegi panjang pembatas (dari subitem tampilan daftar) yang akan diambil. Bagian (ikon, label, atau keduanya) persegi panjang pembatas ditentukan dengan menerapkan operator bitwise OR
ke satu atau beberapa nilai berikut:
LVIR_BOUNDS
Mengembalikan persegi panjang pembatas dari seluruh item, termasuk ikon dan label.LVIR_ICON
Mengembalikan persegi panjang pembatas ikon atau ikon kecil.LVIR_LABEL
Mengembalikan persegi panjang pembatas dari seluruh item, termasuk ikon dan label. Ini identik denganLVIR_BOUNDS
.
ref
Referensi ke CRect
objek yang berisi koordinat persegi panjang pembatas subitem.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_GetSubItemRect
seperti yang dijelaskan dalam Windows SDK.
CListCtrl::GetTextBkColor
Mengambil warna latar belakang teks kontrol tampilan daftar.
COLORREF GetTextBkColor() const;
Tampilkan Nilai
Nilai 32-bit yang digunakan untuk menentukan warna RGB.
Contoh
Lihat contoh untuk CListCtrl::SetTextBkColor
.
CListCtrl::GetTextColor
Mengambil warna teks kontrol tampilan daftar.
COLORREF GetTextColor() const;
Tampilkan Nilai
Nilai 32-bit yang digunakan untuk menentukan warna RGB.
Contoh
Lihat contoh untuk CListCtrl::SetTextColor
.
CListCtrl::GetTileInfo
Mengambil informasi tentang petak peta dalam kontrol tampilan daftar.
BOOL GetTileInfo(PLVTILEINFO plvti) const;
Parameter
plvti
Penunjuk ke LVTILEINFO
struktur yang menerima informasi petak peta.
Tampilkan Nilai
Nilai yang dikembalikan tidak digunakan.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_GETTILEINFO
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::GetTileViewInfo
Mengambil informasi tentang kontrol tampilan daftar dalam tampilan petak peta.
BOOL GetTileViewInfo(PLVTILEVIEWINFO ptvi) const;
Parameter
ptvi
Penunjuk ke LVTILEVIEWINFO
struktur yang menerima informasi yang diambil.
Tampilkan Nilai
Nilai yang dikembalikan tidak digunakan.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_GETTILEVIEWINFO
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::GetToolTips
Mengambil kontrol tipsalat yang digunakan kontrol tampilan daftar untuk menampilkan tipsalat.
CToolTipCtrl* GetToolTips() const;
Tampilkan Nilai
Penunjuk ke objek yang CToolTipCtrl
akan digunakan oleh kontrol daftar. Create
Jika fungsi anggota menggunakan gaya LVS_NOTOOLTIPS
, tidak ada tipsalat yang digunakan, dan NULL dikembalikan.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku pesan LVM_GETTOOLTIPS
Win32 , seperti yang dijelaskan dalam Windows SDK. Implementasi GetToolTips
MFC mengembalikan CToolTipCtrl
objek, yang digunakan oleh kontrol daftar, bukan handel ke kontrol tipsalat.
Contoh
CToolTipCtrl* pTip = m_myListCtrl.GetToolTips();
if (NULL != pTip)
{
pTip->UpdateTipText(_T("I'm a list view!"), &m_myListCtrl,
IDD_MYLISTCTRL);
}
CListCtrl::GetTopIndex
Mengambil indeks item paling atas yang terlihat saat dalam tampilan daftar atau tampilan laporan.
int GetTopIndex() const;
Tampilkan Nilai
Indeks item paling atas yang terlihat.
Contoh
// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();
// Select all of the items that are completely visible.
int n = m_myListCtrl.GetTopIndex();
int nLast = n + m_myListCtrl.GetCountPerPage();
for (; n < nLast; n++)
{
m_myListCtrl.SetItemState(n, LVIS_SELECTED, LVIS_SELECTED);
ASSERT(m_myListCtrl.GetItemState(n, LVIS_SELECTED) == LVIS_SELECTED);
}
CListCtrl::GetView
Mendapatkan tampilan kontrol tampilan daftar.
DWORD GetView() const;
Tampilkan Nilai
Tampilan kontrol tampilan daftar saat ini.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_GETVIEW
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::GetViewRect
Mengambil persegi panjang pembatas semua item dalam kontrol tampilan daftar.
BOOL GetViewRect(LPRECT lpRect) const;
Parameter
lpRect
RECT
Alamat struktur.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Tampilan daftar harus dalam tampilan ikon atau tampilan ikon kecil.
CListCtrl::GetWorkAreas
Mengambil area kerja kontrol tampilan daftar saat ini.
void GetWorkAreas(
int nWorkAreas,
LPRECT pRect) const;
Parameter
nWorkAreas
Jumlah RECT
struktur yang terkandung dalam pRect
array.
pRect
Penunjuk ke array RECT
struktur (atau CRect
objek) yang menerima area kerja kontrol tampilan daftar. Nilai dalam struktur ini berada dalam koordinat klien.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_GetWorkAreas
seperti yang dijelaskan dalam Windows SDK.
Contoh
Lihat contoh untuk CListCtrl::GetNumberOfWorkAreas
.
CListCtrl::HasGroup
Menentukan apakah kontrol tampilan daftar memiliki grup yang ditentukan.
BOOL HasGroup(int iGroupId) const;
Parameter
iGroupId
Pengidentifikasi grup yang diminta.
Tampilkan Nilai
Mengembalikan TRUE
keberhasilan, FALSE
jika gagal.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_HASGROUP
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::HitTest
Menentukan item tampilan daftar mana, jika ada, berada pada posisi tertentu.
int HitTest(LVHITTESTINFO* pHitTestInfo) const;
int HitTest(
CPoint pt,
UINT* pFlags = NULL) const;
Parameter
pHitTestInfo
LVHITTESTINFO
Alamat struktur yang berisi posisi untuk mencapai pengujian dan yang menerima informasi tentang hasil tes hit.
pt
Titik yang akan diuji.
pFlags
Pointer ke bilangan bulat yang menerima informasi tentang hasil pengujian. Lihat penjelasan anggota flags
LVHITTESTINFO
struktur di Windows SDK.
Tampilkan Nilai
Indeks item pada posisi yang ditentukan oleh pHitTestInfo
, jika ada, atau -1 sebaliknya.
Keterangan
Anda dapat menggunakan LVHT_ABOVE
nilai , LVHT_BELOW
, LVHT_TOLEFT
, dan LVHT_TORIGHT
anggota struktur flag
untuk menentukan apakah akan menggulir konten kontrol tampilan daftar. Dua bendera ini dapat digabungkan, misalnya, jika posisi di atas dan di sebelah kiri area klien.
Anda dapat menguji LVHT_ONITEM
nilai anggota struktur flag
untuk menentukan apakah posisi tertentu melebihi item tampilan daftar. Nilai ini adalah operasi bitwise-OR pada LVHT_ONITEMICON
, , dan LVHT_ONITEMSTATEICON
nilai anggota struktur flag
LVHT_ONITEMLABEL
.
Contoh
void CListCtrlDlg::OnRClick(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
CPoint point(pia->ptAction);
// Select the item the user clicked on.
UINT uFlags;
int nItem = m_myListCtrl.HitTest(point, &uFlags);
if (uFlags & LVHT_ONITEMLABEL)
{
m_myListCtrl.SetItem(nItem, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED,
LVIS_SELECTED, 0);
}
*pResult = 0;
}
CListCtrl::InsertColumn
Menyisipkan kolom baru dalam kontrol tampilan daftar.
int InsertColumn(
int nCol,
const LVCOLUMN* pColumn);
int InsertColumn(
int nCol,
LPCTSTR lpszColumnHeading,
int nFormat = LVCFMT_LEFT,
int nWidth = -1,
int nSubItem = -1);
Parameter
nCol
Indeks kolom baru.
pColumn
LVCOLUMN
Alamat struktur yang berisi atribut kolom baru.
lpszColumnHeading
Alamat string yang berisi judul kolom.
nFormat
Bilangan bulat yang menentukan perataan kolom. Ini bisa menjadi salah satu nilai ini: LVCFMT_LEFT
, , LVCFMT_RIGHT
atau LVCFMT_CENTER
.
nWidth
Lebar kolom, dalam piksel. Jika parameter ini adalah -1, lebar kolom tidak diatur.
nSubItem
Indeks subitem yang terkait dengan kolom . Jika parameter ini adalah -1, tidak ada subitem yang terkait dengan kolom .
Tampilkan Nilai
Indeks kolom baru jika berhasil atau -1 sebaliknya.
Keterangan
Kolom paling kiri dalam kontrol tampilan daftar harus rata kiri.
Struktur LVCOLUMN
berisi atribut kolom dalam tampilan laporan. Ini juga digunakan untuk menerima informasi tentang kolom. Struktur ini dijelaskan dalam Windows SDK.
CListCtrl::InsertGroup
Menyisipkan grup ke dalam kontrol tampilan daftar.
LRESULT InsertGroup(
int index,
PLVGROUP pgrp);
Parameter
index
Indeks item tempat grup akan disisipkan.
pgrp
Penunjuk ke struktur yang LVGROUP
berisi grup yang akan ditambahkan.
Tampilkan Nilai
Mengembalikan indeks item tempat grup ditambahkan, atau -1 jika operasi gagal.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_INSERTGROUP
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::InsertGroupSorted
Menyisipkan grup yang ditentukan ke dalam daftar grup yang diurutkan.
LRESULT InsertGroupSorted(PLVINSERTGROUPSORTED pStructInsert);
Parameter
pStructInsert
Penunjuk ke LVINSERTGROUPSORTED
struktur yang berisi grup untuk disisipkan.
Tampilkan Nilai
Nilai yang dikembalikan tidak digunakan.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_INSERTGROUPSORTED
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::InsertItem
Menyisipkan item ke dalam kontrol tampilan daftar.
int InsertItem(const LVITEM* pItem);
int InsertItem(
int nItem,
LPCTSTR lpszItem);
int InsertItem(
int nItem,
LPCTSTR lpszItem,
int nImage);
int InsertItem(
UINT nMask,
int nItem,
LPCTSTR lpszItem,
UINT nState,
UINT nStateMask,
int nImage,
LPARAM lParam);
Parameter
pItem
Penunjuk ke struktur LVITEM yang menentukan atribut item, seperti yang dijelaskan dalam Windows SDK.
nItem
Indeks item yang akan disisipkan.
lpszItem
Alamat string yang berisi label item, atau LPSTR_TEXTCALLBACK
jika item tersebut adalah item panggilan balik. Untuk informasi tentang item panggilan balik, lihat CListCtrl::GetCallbackMask
.
nImage
Indeks gambar item, atau I_IMAGECALLBACK
jika item adalah item panggilan balik. Untuk informasi tentang item panggilan balik, lihat CListCtrl::GetCallbackMask
.
nMask
Parameter nMask
menentukan atribut item mana yang diteruskan sebagai parameter yang valid. Ini bisa menjadi satu atau beberapa nilai masker yang dijelaskan dalam LVITEM
Struktur di Windows SDK. Nilai yang valid dapat dikombinasikan dengan operator BITWISE OR.
nState
Menunjukkan status item, gambar status, dan gambar overlay. Untuk informasi selengkapnya, lihat topik LVITEM
Windows SDK Struktur dan Status Item Tampilan Daftar untuk daftar bendera yang valid.
nStateMask
Menunjukkan bit anggota status mana yang akan diambil atau dimodifikasi. Untuk informasi selengkapnya, lihat LVITEM
Struktur di Windows SDK.
lParam
Nilai khusus aplikasi 32-bit (64-bit jika Anda mengkompilasi untuk x64) yang terkait dengan item. Jika parameter ini ditentukan, Anda harus mengatur nMask
atribut LVIF_PARAM
.
Tampilkan Nilai
Indeks item baru jika berhasil atau -1 sebaliknya.
Keterangan
Memanggil metode ini dapat menyebabkan LVM_INSERTITEM
pesan dikirim ke jendela kontrol Anda. Handler pesan terkait untuk kontrol mungkin gagal mengatur teks item dalam kondisi tertentu (seperti menggunakan gaya jendela seperti LVS_OWNERDRAW
). Untuk informasi selengkapnya tentang kondisi ini, lihat LVM_INSERTITEM
di Windows SDK.
Contoh
CString strText;
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();
// Insert 10 items in the list view control.
for (int i = 0; i < 10; i++)
{
strText.Format(TEXT("item %d"), i);
// Insert the item, select every other item.
m_myListCtrl.InsertItem(LVIF_TEXT | LVIF_STATE, i, strText,
(i % 2) == 0 ? LVIS_SELECTED : 0, LVIS_SELECTED, 0, 0);
// Initialize the text of the subitems.
for (int j = 1; j < nColumnCount; j++)
{
strText.Format(TEXT("sub-item %d %d"), i, j);
m_myListCtrl.SetItemText(i, j, strText);
}
}
CListCtrl::InsertMarkHitTest
Mengambil titik penyisipan yang paling dekat dengan titik tertentu.
int InsertMarkHitTest(
LPPOINT pPoint,
LPLVINSERTMARK plvim) const;
Parameter
pPoint
Penunjuk ke POINT
struktur yang berisi koordinat pengujian hit, relatif terhadap area klien kontrol daftar.
plvim
Penunjuk ke LVINSERTMARK
struktur yang menentukan titik penyisipan yang paling dekat dengan koordinat yang ditentukan oleh parameter titik.
Tampilkan Nilai
Titik penyisipan yang paling dekat dengan titik yang ditentukan.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_INSERTMARKHITTEST
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::IsGroupViewEnabled
Menentukan apakah tampilan grup diaktifkan untuk kontrol tampilan daftar.
BOOL IsGroupViewEnabled() const;
Tampilkan Nilai
Mengembalikan TRUE
jika tampilan grup diaktifkan, atau FALSE
sebaliknya.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_ISGROUPVIEWENABLED
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::IsItemVisible
Menunjukkan apakah item yang ditentukan dalam kontrol tampilan daftar saat ini terlihat.
BOOL IsItemVisible(int index) const;
Parameter
index
[di] Indeks berbasis nol item dalam kontrol tampilan daftar saat ini.
Tampilkan Nilai
TRUE
jika item yang ditentukan terlihat; jika tidak, FALSE
.
Keterangan
Metode ini mengirim LVM_ISITEMVISIBLE
pesan, yang dijelaskan dalam Windows SDK.
CListCtrl::MapIDToIndex
Memetakan ID unik item dalam kontrol tampilan daftar saat ini ke indeks.
UINT MapIDToIndex(UINT id) const;
Parameter
id
[di] ID unik item.
Tampilkan Nilai
Indeks saat ini untuk ID yang ditentukan.
Keterangan
Kontrol tampilan daftar melacak item secara internal menurut indeks. Ini dapat menyebabkan masalah karena indeks dapat berubah selama masa pakai kontrol. Kontrol tampilan daftar dapat menandai item dengan ID saat item dibuat dan Anda dapat menggunakan ID ini untuk menjamin keunikan selama masa pakai kontrol tampilan daftar.
Di lingkungan multithreaded, indeks hanya dijamin pada utas yang menghosting kontrol tampilan daftar, bukan pada utas latar belakang.
Metode ini mengirim LVM_MAPIDTOINDEX
pesan, yang dijelaskan dalam Windows SDK.
CListCtrl::MapIndexToID
Memetakan indeks item dalam kontrol tampilan daftar saat ini ke ID unik.
UINT MapIndexToID(UINT index) const;
Parameter
index
[di] Indeks berbasis nol item.
Tampilkan Nilai
ID unik untuk item yang ditentukan.
Keterangan
Kontrol tampilan daftar melacak item secara internal menurut indeks. Ini dapat menyebabkan masalah karena indeks dapat berubah selama masa pakai kontrol. Kontrol tampilan daftar dapat menandai item dengan ID saat item dibuat. Anda dapat menggunakan ID ini untuk mengakses item tertentu selama masa pakai kontrol tampilan daftar.
Di lingkungan multithreaded, indeks hanya dijamin pada utas yang menghosting kontrol tampilan daftar, bukan pada utas latar belakang.
Metode ini mengirim LVM_MAPINDEXTOID
pesan, yang dijelaskan dalam Windows SDK.
Contoh
Contoh kode pertama mendefinisikan variabel, m_listCtrl
, yang digunakan untuk mengakses kontrol tampilan daftar saat ini. Variabel ini digunakan dalam contoh berikutnya.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
Contoh kode berikutnya menunjukkan MapIndexToID
metode . Di bagian sebelumnya dari contoh kode ini, kami membuat kontrol tampilan daftar yang menampilkan dua kolom berjudul "ClientID" dan "Grade" dalam tampilan laporan. Contoh berikut memetakan indeks setiap item tampilan daftar ke nomor identifikasi, lalu mengambil indeks untuk setiap nomor identifikasi. Terakhir, contoh melaporkan apakah indeks asli diambil.
// MapIndexToID
int iCount = m_listCtrl.GetItemCount();
UINT nId = 0;
UINT nIndex = 0;
for (int iIndexOriginal = 0; iIndexOriginal < iCount; iIndexOriginal++)
{
// Map index to ID.
nId = m_listCtrl.MapIndexToID((UINT)iIndexOriginal);
// Map ID to index.
nIndex = m_listCtrl.MapIDToIndex(nId);
if (nIndex != (UINT)(iIndexOriginal))
{
CString str;
str.Format(_T("Mapped index (%d) is not equal to original index (%d)"),
nIndex, (UINT)(iIndexOriginal));
AfxMessageBox(str);
return;
}
}
AfxMessageBox(_T("The mapped indexes and original indexes are equal."),
MB_ICONINFORMATION);
CListCtrl::MoveGroup
Memindahkan grup yang ditentukan ke indeks berbasis nol yang ditentukan dari kontrol tampilan daftar.
LRESULT MoveGroup(
int iGroupId,
int toIndex);
Parameter
iGroupId
Pengidentifikasi grup yang akan dipindahkan.
toIndex
Indeks berbasis nol tempat grup akan dipindahkan.
Tampilkan Nilai
Nilai yang dikembalikan tidak digunakan.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_MOVEGROUP
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::MoveItemToGroup
Memindahkan item yang ditentukan ke dalam grup yang ditentukan.
void MoveItemToGroup(
int idItemFrom,
int idGroupTo);
Parameter
idItemFrom
[di] Indeks item yang akan dipindahkan.
idGroupTo
[di] Pengidentifikasi grup tempat item akan dipindahkan.
Keterangan
Catatan
Metode ini saat ini tidak diimplementasikan.
Metode ini menimulasi fungsionalitas pesan, seperti yang LVM_MOVEITEMTOGROUP
dijelaskan di Windows SDK.
CListCtrl::RedrawItems
Memaksa kontrol tampilan daftar untuk mengecat ulang rentang item.
BOOL RedrawItems(
int nFirst,
int nLast);
Parameter
nFirst
Indeks item pertama yang akan dicat ulang.
nLast
Indeks item terakhir yang akan dicat ulang.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Item yang ditentukan tidak dicat ulang hingga jendela tampilan daftar menerima pesan WM_PAINT. Untuk segera mengecat ulang, panggil fungsi Windows UpdateWindow
setelah menggunakan fungsi ini.
CListCtrl::RemoveAllGroups
Menghapus semua grup dari kontrol tampilan daftar.
void RemoveAllGroups();
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_REMOVEALLGROUPS
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::RemoveGroup
Menghapus grup yang ditentukan dari kontrol tampilan daftar.
LRESULT RemoveGroup(int iGroupId);
Parameter
iGroupId
Pengidentifikasi grup yang akan dihapus.
Tampilkan Nilai
Mengembalikan indeks grup jika berhasil, atau -1 jika tidak.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_REMOVEGROUP
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::Scroll
Menggulir konten kontrol tampilan daftar.
BOOL Scroll(CSize size);
Parameter
size
Objek CSize
yang menentukan jumlah pengguliran horizontal dan vertikal, dalam piksel. Anggota y
ukuran dibagi dengan tinggi, dalam piksel, dari baris kontrol tampilan daftar, dan kontrol digulir oleh jumlah baris yang dihasilkan.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
CListCtrl::SetBkColor
Mengatur warna latar belakang kontrol tampilan daftar.
BOOL SetBkColor(COLORREF cr);
Parameter
cr
Warna latar belakang untuk diatur, atau CLR_NONE
nilai tanpa warna latar belakang. Kontrol tampilan daftar dengan warna latar belakang menggambar ulang diri mereka sendiri secara signifikan lebih cepat daripada yang tanpa warna latar belakang. Untuk informasi, lihat COLORREF
di Windows SDK.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Contoh
// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetBkColor(crBkColor);
ASSERT(m_myListCtrl.GetBkColor() == crBkColor);
CListCtrl::SetBkImage
Mengatur gambar latar belakang kontrol tampilan daftar.
BOOL SetBkImage(LVBKIMAGE* plvbkImage);
BOOL SetBkImage(
HBITMAP hBitmap,
BOOL fTile = TRUE,
int xOffsetPercent = 0,
int yOffsetPercent = 0);
BOOL SetBkImage(
LPTSTR pszUrl,
BOOL fTile = TRUE,
int xOffsetPercent = 0,
int yOffsetPercent = 0);
Parameter
plvbkImage
LVBKIMAGE
Alamat struktur, yang berisi informasi gambar latar belakang baru.
hBitmap
Tangani ke bitmap.
pszUrl
String NULL
yang dihentikan yang berisi URL gambar latar belakang.
fTile
Bukan nol jika gambar akan diurutkan di latar belakang kontrol tampilan daftar; jika tidak, 0.
xOffsetPercent
Offset, dalam piksel, tepi kiri gambar, dari asal kontrol tampilan daftar.
yOffsetPercent
Offset, dalam piksel, tepi atas gambar, dari asal kontrol tampilan daftar.
Tampilkan Nilai
Mengembalikan bukan nol jika berhasil, atau nol sebaliknya.
Keterangan
Catatan
Karena CListCtrl::SetBkImage
menggunakan fungsionalitas OLE COM, pustaka OLE harus diinisialisasi sebelum menggunakan SetBkImage
. Yang terbaik adalah menginisialisasi pustaka COM ketika aplikasi diinisialisasi dan tidak menginisialisasi pustaka saat aplikasi dihentikan. Ini secara otomatis dilakukan dalam aplikasi MFC yang menggunakan teknologi ActiveX, OLE Automation, OLE Linking/Embedding, atau operasi ODBC/DAO.
Contoh
Lihat contoh untuk CListCtrl::GetBkImage
.
CListCtrl::SetCallbackMask
Mengatur masker panggilan balik untuk kontrol tampilan daftar.
BOOL SetCallbackMask(UINT nMask);
Parameter
nMask
Nilai baru masker panggilan balik.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Contoh
// Set the callback mask so that only the selected and focused states
// are stored for each item.
m_myListCtrl.SetCallbackMask(LVIS_SELECTED|LVIS_FOCUSED);
ASSERT(m_myListCtrl.GetCallbackMask() ==
(LVIS_SELECTED|LVIS_FOCUSED));
CListCtrl::SetCheck
Menentukan apakah gambar status item kontrol daftar terlihat.
BOOL SetCheck(
int nItem,
BOOL fCheck = TRUE);
Parameter
nItem
Indeks berbasis nol dari item kontrol daftar.
fCheck
Menentukan apakah gambar status item harus terlihat atau tidak. Secara default, fCheck
adalah TRUE
dan gambar status terlihat. Jika fCheck
adalah FALSE
, itu tidak terlihat.
Tampilkan Nilai
Bukan nol jika item dicentang, jika tidak, 0.
Contoh
int nCount = m_myListCtrl.GetItemCount();
BOOL fCheck = FALSE;
// Set the check state of every other item to TRUE and
// all others to FALSE.
for (int i = 0; i < nCount; i++)
{
m_myListCtrl.SetCheck(i, fCheck);
ASSERT((m_myListCtrl.GetCheck(i) && fCheck) ||
(!m_myListCtrl.GetCheck(i) && !fCheck));
fCheck = !fCheck;
}
CListCtrl::SetColumn
Mengatur atribut kolom tampilan daftar.
BOOL SetColumn(
int nCol,
const LVCOLUMN* pColumn);
Parameter
nCol
Indeks kolom yang atributnya akan diatur.
pColumn
Alamat struktur yang berisi atribut kolom baru, seperti yang LVCOLUMN
dijelaskan dalam Windows SDK. Anggota struktur mask
menentukan atribut kolom mana yang akan diatur. mask
Jika anggota menentukan LVCF_TEXT
nilai, anggota struktur pszText
adalah alamat string yang dihentikan null dan anggota struktur cchTextMax
diabaikan.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Contoh
Lihat contoh untuk CListCtrl::GetColumn
.
CListCtrl::SetColumnOrderArray
Mengatur urutan kolom (kiri ke kanan) dari kontrol tampilan daftar.
BOOL SetColumnOrderArray(
int iCount,
LPINT piArray);
Parameter
piArray
Penunjuk ke buffer yang berisi nilai indeks kolom dalam kontrol tampilan daftar (dari kiri ke kanan). Buffer harus cukup besar untuk berisi jumlah total kolom dalam kontrol tampilan daftar.
iCount
Jumlah kolom dalam kontrol tampilan daftar.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_SetColumnOrderArray
seperti yang dijelaskan dalam Windows SDK.
Contoh
Lihat contoh untuk CListCtrl::GetColumnOrderArray
.
CListCtrl::SetColumnWidth
Mengubah lebar kolom dalam tampilan laporan atau tampilan daftar.
BOOL SetColumnWidth(
int nCol,
int cx);
Parameter
nCol
Indeks kolom yang lebarnya akan diatur. Dalam tampilan daftar, parameter ini harus 0.
cx
Lebar baru kolom. Dapat berupa LVSCW_AUTOSIZE
atau LVSCW_AUTOSIZE_USEHEADER
, seperti yang dijelaskan dalam LVM_SETCOLUMNWIDTH
Windows SDK.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
CListCtrl::SetExtendedStyle
Mengatur gaya yang diperluas saat ini dari kontrol tampilan daftar.
DWORD SetExtendedStyle(DWORD dwNewStyle);
Parameter
dwNewStyle
Kombinasi gaya yang diperluas untuk digunakan oleh kontrol tampilan daftar. Untuk daftar deskriptif gaya ini, lihat topik Gaya Tampilan Daftar Diperluas di Windows SDK.
Tampilkan Nilai
Kombinasi gaya yang diperluas sebelumnya yang digunakan oleh kontrol tampilan daftar.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_SetExtendedListViewStyle
seperti yang dijelaskan dalam Windows SDK.
Contoh
// Allow the header controls item to be movable by the user.
m_myListCtrl.SetExtendedStyle
(m_myListCtrl.GetExtendedStyle()|LVS_EX_HEADERDRAGDROP);
CListCtrl::SetGroupInfo
Mengatur informasi yang menjelaskan grup yang ditentukan dari kontrol tampilan daftar saat ini.
int SetGroupInfo(
int iGroupId,
PLVGROUP pgrp);
Parameter
iGroupId
Pengidentifikasi grup yang informasinya ditetapkan.
pgrp
Penunjuk LVGROUP
ke struktur yang berisi informasi yang akan diatur. Pemanggil bertanggung jawab untuk mengalokasikan struktur ini dan mengatur anggotanya.
Tampilkan Nilai
ID grup jika metode berhasil; jika tidak, -1.
Keterangan
Metode ini mengirim LVM_SETGROUPINFO
pesan, yang dijelaskan dalam Windows SDK.
CListCtrl::SetGroupMetrics
Mengatur metrik grup kontrol tampilan daftar.
void SetGroupMetrics(PLVGROUPMETRICS pGroupMetrics);
Parameter
pGroupMetrics
Penunjuk ke struktur yang LVGROUPMETRICS
berisi informasi metrik grup yang akan diatur.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_SETGROUPMETRICS
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::SetHotCursor
Mengatur kursor yang digunakan saat pelacakan panas diaktifkan untuk kontrol tampilan daftar.
HCURSOR SetHotCursor(HCURSOR hc);
Parameter
hc
Handel ke sumber daya kursor, digunakan untuk mewakili kursor panas.
Tampilkan Nilai
Handel ke sumber daya kursor panas sebelumnya yang digunakan oleh kontrol tampilan daftar.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_SetHotCursor
seperti yang dijelaskan dalam Windows SDK.
Kursor panas, hanya terlihat saat pilihan hover diaktifkan, muncul saat kursor melewati item tampilan daftar apa pun. Pilihan hover diaktifkan dengan mengatur gaya yang LVS_EX_TRACKSELECT
diperluas.
Contoh
Lihat contoh untuk CListCtrl::GetHotCursor
.
CListCtrl::SetHotItem
Mengatur item panas saat ini dari kontrol tampilan daftar.
int SetHotItem(int iIndex);
Parameter
iIndex
Indeks berbasis nol item yang akan diatur sebagai item panas.
Tampilkan Nilai
Indeks berbasis nol dari item yang sebelumnya panas.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_SetHotItem
seperti yang dijelaskan dalam Windows SDK.
Contoh
Lihat contoh untuk CListCtrl::GetHotItem
.
CListCtrl::SetHoverTime
Mengatur waktu hover kontrol tampilan daftar saat ini.
DWORD SetHoverTime(DWORD dwHoverTime = (DWORD)-1);
Parameter
dwHoverTime
Penundaan baru, dalam milidetik, yang harus diarahkan kursor mouse ke item sebelum dipilih. Jika nilai default diteruskan, waktu diatur ke waktu hover default.
Tampilkan Nilai
Waktu hover sebelumnya, dalam milidetik.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_SetHoverTime
seperti yang dijelaskan dalam Windows SDK.
Contoh
Lihat contoh untuk CListCtrl::GetHoverTime
.
CListCtrl::SetIconSpacing
Mengatur penspasian antar ikon dalam kontrol tampilan daftar.
CSize SetIconSpacing(
int cx,
int cy);
CSize SetIconSpacing(CSize size);
Parameter
cx
Jarak (dalam piksel) antara ikon pada sumbu x.
cy
Jarak (dalam piksel) antara ikon pada sumbu y.
size
Objek CSize
yang menentukan jarak (dalam piksel) antara ikon pada sumbu x dan y.
Tampilkan Nilai
Objek CSize
yang berisi nilai sebelumnya untuk penspasian ikon.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_SetIconSpacing
seperti yang dijelaskan dalam Windows SDK.
Contoh
// Leave lots of space between icons.
m_myListCtrl.SetIconSpacing(CSize(100, 100));
CListCtrl::SetImageList
Menetapkan daftar gambar ke kontrol tampilan daftar.
CImageList* SetImageList(
CImageList* pImageList,
int nImageListType);
Parameter
pImageList
Arahkan ke daftar gambar yang akan ditetapkan.
nImageListType
Jenis daftar gambar. Ini bisa menjadi salah satu nilai ini:
LVSIL_NORMAL
Daftar gambar dengan ikon besar.LVSIL_SMALL
Daftar gambar dengan ikon kecil.LVSIL_STATE
Daftar gambar dengan gambar status.
Tampilkan Nilai
Penunjuk ke daftar gambar sebelumnya.
Contoh
Lihat contoh untuk CListCtrl::GetImageList
.
CListCtrl::SetInfoTip
Mengatur teks tipsalat.
BOOL SetInfoTip(PLVSETINFOTIP plvInfoTip);
Parameter
plvInfoTip
Penunjuk ke struktur yang LVFSETINFOTIP
berisi informasi yang akan diatur.
Tampilkan Nilai
Mengembalikan TRUE
keberhasilan, FALSE
jika gagal.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_SETINFOTIP
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::SetInsertMark
Mengatur titik penyisipan ke posisi yang ditentukan.
BOOL SetInsertMark(LPLVINSERTMARK plvim);
Parameter
plvim
Penunjuk ke struktur yang LVINSERTMARK
menentukan tempat mengatur titik penyisipan.
Tampilkan Nilai
Mengembalikan TRUE
jika berhasil, atau FALSE
sebaliknya. FALSE
dikembalikan jika ukuran dalam cbSize
anggota LVINSERTMARK
struktur tidak sama dengan ukuran struktur aktual, atau ketika titik penyisipan tidak berlaku dalam tampilan saat ini.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_SETINSERTMARK
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::SetInsertMarkColor
Mengatur warna titik penyisipan.
COLORREF SetInsertMarkColor(COLORREF color);
Parameter
color
Struktur COLORREF
yang menentukan warna untuk mengatur titik penyisipan.
Tampilkan Nilai
Mengembalikan struktur yang COLORREF
berisi warna sebelumnya.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_SETINSERTMARKCOLOR
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::SetItem
Mengatur beberapa atau semua atribut item tampilan daftar.
BOOL SetItem(const LVITEM* pItem);
BOOL SetItem(
int nItem,
int nSubItem,
UINT nMask,
LPCTSTR lpszItem,
int nImage,
UINT nState,
UINT nStateMask,
LPARAM lParam);
BOOL SetItem(
int nItem,
int nSubItem,
UINT nMask,
LPCTSTR lpszItem,
int nImage,
UINT nState,
UINT nStateMask,
LPARAM lParam,
int nIndent);
Parameter
pItem
Alamat struktur yang berisi atribut item baru, seperti yang LVITEM
dijelaskan dalam Windows SDK. iItem
Struktur dan iSubItem
anggota mengidentifikasi item atau subitem, dan anggota struktur mask
menentukan atribut mana yang akan ditetapkan. Untuk informasi selengkapnya tentang mask
anggota, lihat Komentar.
nItem
Indeks item yang atributnya akan diatur.
nSubItem
Indeks subitem yang atributnya akan diatur.
nMask
Menentukan atribut mana yang akan diatur (lihat Keterangan).
lpszItem
Alamat string null-terminated yang menentukan label item.
nImage
Indeks gambar item dalam daftar gambar.
nState
Menentukan nilai untuk status yang akan diubah (lihat Keterangan).
nStateMask
Menentukan status mana yang akan diubah (lihat Keterangan).
lParam
Nilai khusus aplikasi 32-bit (64-bit jika Anda mengkompilasi untuk x64) untuk dikaitkan dengan item.
nIndent
Lebar, dalam piksel, dari indentasi. Jika nIndent
kurang dari lebar minimum yang ditentukan sistem, lebar baru diatur ke minimum yang ditentukan sistem
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
iSubItem
Dan iItem
anggota LVITEM
struktur dan nItem
parameter dan nSubItem
mengidentifikasi item dan subitem yang atributnya akan diatur.
Anggota mask
LVITEM
struktur dan nMask
parameter menentukan atribut item mana yang akan diatur:
LVIF_TEXT
AnggotapszText
ataulpszItem
parameter adalah alamat string yang dihentikan null;cchTextMax
anggota diabaikan.LVIF_STATE
AnggotastateMask
ataunStateMask
parameter menentukan status item mana yang akan diubah danstate
anggota ataunState
parameter berisi nilai untuk status tersebut.
Contoh
Lihat contoh untuk CListCtrl::HitTest
.
CListCtrl::SetItemCount
Menyiapkan kontrol tampilan daftar untuk menambahkan sejumlah besar item.
void SetItemCount(int nItems);
Parameter
nItems
Jumlah item yang pada akhirnya akan dikandung kontrol.
Keterangan
Untuk mengatur jumlah item untuk kontrol tampilan daftar virtual, lihat CListCtrl::SetItemCountEx
.
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_SetItemCount
seperti yang dijelaskan dalam Windows SDK.
Contoh
CString str;
// Add 1024 items to the list view control.
m_myListCtrl.SetItemCount(1024);
for (int i = 0; i < 1024; i++)
{
str.Format(TEXT("item %d"), i);
m_myListCtrl.InsertItem(i, str);
}
CListCtrl::SetItemCountEx
Mengatur jumlah item untuk kontrol tampilan daftar virtual.
BOOL SetItemCountEx(
int iCount,
DWORD dwFlags = LVSICF_NOINVALIDATEALL);
Parameter
iCount
Jumlah item yang pada akhirnya akan dikandung kontrol.
dwFlags
Menentukan perilaku kontrol tampilan daftar setelah mereset jumlah item. Nilai ini bisa berupa kombinasi dari yang berikut ini:
LVSICF_NOINVALIDATEALL
Kontrol tampilan daftar tidak akan dicat ulang kecuali item yang terpengaruh saat ini sedang terlihat. Ini adalah nilai default.LVSICF_NOSCROLL
Kontrol tampilan daftar tidak akan mengubah posisi gulir saat jumlah item berubah.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_SetItemCountEx
seperti yang dijelaskan di Windows SDKand hanya boleh dipanggil untuk tampilan daftar virtual.
Contoh
CString str;
// Add 1024 items to the list view control.
// Force my virtual list view control to allocate
// enough memory for my 1024 items.
m_myVirtualListCtrl.SetItemCountEx(1024, LVSICF_NOSCROLL|
LVSICF_NOINVALIDATEALL);
for (int i = 0; i < 1024; i++)
{
str.Format(TEXT("item %d"), i);
m_myVirtualListCtrl.InsertItem(i, str);
}
CListCtrl::SetItemData
Mengatur nilai spesifik aplikasi 32-bit (64-bit jika Anda mengkompilasi untuk x64) yang terkait dengan item yang ditentukan oleh nItem
.
BOOL SetItemData(int nItem, DWORD_PTR dwData);
Parameter
nItem
Indeks item daftar yang datanya akan diatur.
dwData
Nilai 32-bit (64-bit jika Anda mengkompilasi untuk x64) untuk dikaitkan dengan item.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Nilai ini adalah lParam
anggota struktur, seperti yang LVITEM
dijelaskan dalam Windows SDK.
Contoh
// Set the data of each item to be equal to its index.
for (int i = 0; i < m_myListCtrl.GetItemCount(); i++)
{
m_myListCtrl.SetItemData(i, i);
}
CListCtrl::SetItemIndexState
Mengatur status item dalam kontrol tampilan daftar saat ini.
BOOL SetItemIndexState(
PLVITEMINDEX pItemIndex,
DWORD dwState,
DWORD dwMask) const;
Parameter
pItemIndex
[di] Penunjuk LVITEMINDEX
ke struktur yang menjelaskan item. Pemanggil bertanggung jawab untuk mengalokasikan struktur ini dan mengatur anggotanya.
dwState
[di] Status untuk mengatur item, yang merupakan kombinasi bitwise dari status item tampilan daftar. Tentukan nol untuk direset, atau satu untuk diatur, status.
dwMask
[di] Masker dari bit status yang valid yang ditentukan oleh dwState
parameter . Tentukan kombinasi bitwise (OR) dari status item tampilan daftar.
Tampilkan Nilai
TRUE
jika metode ini berhasil; jika tidak, FALSE
.
Keterangan
Untuk informasi selengkapnya tentang dwState
parameter , lihat Status Item Tampilan Daftar.
Untuk informasi selengkapnya tentang dwMask
parameter , lihat stateMask
anggota LVITEM
struktur.
Metode ini mengirim LVM_SETITEMINDEXSTATE
pesan, yang dijelaskan dalam Windows SDK.
CListCtrl::SetItemPosition
Memindahkan item ke posisi tertentu dalam kontrol tampilan daftar.
BOOL SetItemPosition(
int nItem,
POINT pt);
Parameter
nItem
Indeks item yang posisinya akan diatur.
pt
Struktur POINT
yang menentukan posisi baru, dalam melihat koordinat, dari sudut kiri atas item.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Kontrol harus dalam ikon atau tampilan ikon kecil.
Jika kontrol tampilan daftar memiliki LVS_AUTOARRANGE
gaya, tampilan daftar disusun setelah posisi item diatur.
Contoh
Lihat contoh untuk CListCtrl::GetItemPosition
.
CListCtrl::SetItemState
Mengubah status item dalam kontrol tampilan daftar.
BOOL SetItemState(
int nItem,
LVITEM* pItem);
BOOL SetItemState(
int nItem,
UINT nState,
UINT nMask);
Parameter
nItem
Indeks item yang statusnya akan diatur. Teruskan -1 untuk menerapkan perubahan status ke semua item.
pItem
Alamat struktur, seperti yang LVITEM
dijelaskan dalam Windows SDK. Anggota struktur stateMask
menentukan bit status mana yang akan diubah, dan anggota struktur state
berisi nilai baru untuk bit tersebut. Anggota lain diabaikan.
nState
Nilai baru untuk bit status. Untuk daftar nilai yang mungkin, lihat CListCtrl::GetNextItem
dan LVITEM
anggota status.
nMask
Masker menentukan bit status mana yang akan diubah. Nilai ini sesuai dengan anggota stateMask struktur LVITEM
.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
"Status" item adalah nilai yang menentukan ketersediaan item, menunjukkan tindakan pengguna, atau mencerminkan status item. Kontrol tampilan daftar mengubah beberapa bit status, seperti saat pengguna memilih item. Aplikasi mungkin mengubah bit status lain untuk menonaktifkan atau menyembunyikan item, atau untuk menentukan gambar overlay atau gambar status.
Contoh
Lihat contoh untuk CListCtrl::GetTopIndex
.
CListCtrl::SetItemText
Mengubah teks item tampilan daftar atau subitem.
BOOL SetItemText(
int nItem,
int nSubItem,
LPCTSTR lpszText);
Parameter
nItem
Indeks item yang teksnya akan diatur.
nSubItem
Indeks subitem, atau nol untuk mengatur label item.
lpszText
Penunjuk ke string yang berisi teks item baru.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Metode ini tidak dimaksudkan untuk digunakan dengan kontrol yang berisi LVS_OWNERDATA
gaya jendela (pada kenyataannya, ini akan menyebabkan pernyataan dalam build Debug). Untuk informasi selengkapnya tentang gaya kontrol daftar ini, lihat Gambaran Umum Kontrol Tampilan Daftar.
Contoh
Lihat contoh untuk CListCtrl::InsertItem
.
CListCtrl::SetOutlineColor
Mengatur warna batas kontrol tampilan daftar jika LVS_EX_BORDERSELECT
gaya jendela yang diperluas diatur.
COLORREF SetOutlineColor(COLORREF color);
Parameter
color
Struktur baru COLORREF
yang berisi warna kerangka.
Tampilkan Nilai
Struktur sebelumnya COLORREF
yang berisi warna kerangka
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_SETOUTLINECOLOR
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::SetSelectedColumn
Menyetel kolom terpilih dari kontrol tampilan daftar.
LRESULT SetSelectedColumn(int iCol);
Parameter
iCol
Indeks kolom yang akan dipilih.
Tampilkan Nilai
Nilai yang dikembalikan tidak digunakan.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_SETSELECTEDCOLUMN
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::SetSelectionMark
Mengatur tanda pilihan kontrol tampilan daftar.
int SetSelectionMark(int iIndex);
Parameter
iIndex
Indeks berbasis nol dari item pertama dalam beberapa pilihan.
Tampilkan Nilai
Tanda pilihan sebelumnya, atau -1 jika tidak ada tanda pilihan.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_SetSelectionMark
seperti yang dijelaskan dalam Windows SDK.
Contoh
Lihat contoh untuk CListCtrl::GetSelectionMark
.
CListCtrl::SetTextBkColor
Mengatur warna latar belakang teks dalam kontrol tampilan daftar.
BOOL SetTextBkColor(COLORREF cr);
Parameter
cr
Menentukan COLORREF
warna latar belakang teks baru. Untuk informasi, lihat COLORREF
di Windows SDK.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Contoh
// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetTextBkColor(crBkColor);
ASSERT(m_myListCtrl.GetTextBkColor() == crBkColor);
CListCtrl::SetTextColor
Mengatur warna teks kontrol tampilan daftar.
BOOL SetTextColor(COLORREF cr);
Parameter
cr
Menentukan COLORREF
warna teks baru. Untuk informasi, lihat COLORREF
di Windows SDK.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Contoh
// Use the window text color for
// the item text of the list view control.
COLORREF crTextColor = ::GetSysColor(COLOR_WINDOWTEXT);
m_myListCtrl.SetTextColor(crTextColor);
ASSERT(m_myListCtrl.GetTextColor() == crTextColor);
CListCtrl::SetTileInfo
Mengatur informasi untuk petak kontrol tampilan daftar.
BOOL SetTileInfo(PLVTILEINFO pTileInfo);
Parameter
pTileInfo
Penunjuk ke struktur yang LVTILEINFO
berisi informasi yang akan diatur.
Tampilkan Nilai
Mengembalikan TRUE
keberhasilan, FALSE
jika gagal.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_SETTILEINFO
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::SetTileViewInfo
Mengatur informasi yang digunakan kontrol tampilan daftar dalam tampilan petak peta.
BOOL SetTileViewInfo(PLVTILEVIEWINFO ptvi);
Parameter
ptvi
Penunjuk ke struktur yang LVTILEVIEWINFO
berisi informasi yang akan diatur.
Tampilkan Nilai
Mengembalikan TRUE
keberhasilan, FALSE
jika gagal.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_SETTILEVIEWINFO
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::SetToolTips
Mengatur kontrol tipsalat yang akan digunakan kontrol tampilan daftar untuk menampilkan tipsalat.
CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);
Parameter
pWndTip
Penunjuk ke CToolTipCtrl
objek yang akan digunakan kontrol daftar.
Tampilkan Nilai
Penunjuk ke objek yang CToolTipCtrl
berisi tipsalat yang sebelumnya digunakan oleh kontrol, atau NULL
jika tidak ada tipsalat yang digunakan sebelumnya.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku pesan LVM_SETTOOLTIPS
Win32 , seperti yang dijelaskan dalam Windows SDK.
Untuk tidak menggunakan tipsalat, tunjukkan LVS_NOTOOLTIPS
gaya saat Anda membuat CListCtrl
objek.
CListCtrl::SetView
Mengatur tampilan kontrol tampilan daftar.
DWORD SetView(int iView);
Parameter
iView
Tampilan yang akan dipilih.
Tampilkan Nilai
Mengembalikan 1 jika berhasil, atau -1 sebaliknya. Misalnya, -1 dikembalikan jika tampilan tidak valid.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_SETVIEW
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::SetWorkAreas
Mengatur area tempat ikon dapat ditampilkan dalam kontrol tampilan daftar.
void SetWorkAreas(
int nWorkAreas,
LPRECT lpRect);
Parameter
nWorkAreas
Jumlah RECT
struktur (atau CRect
objek) dalam array yang ditujukkan oleh lpRect
.
lpRect
Alamat array RECT
struktur (atau CRect
objek) yang menentukan area kerja baru kontrol tampilan daftar. Area ini harus ditentukan dalam koordinat klien. Jika parameter ini adalah NULL
, area kerja akan diatur ke area klien kontrol.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_SetWorkAreas
seperti yang dijelaskan dalam Windows SDK.
Contoh
// Remove all working areas.
m_myListCtrl.SetWorkAreas(0, NULL);
CListCtrl::SortGroups
Menggunakan fungsi perbandingan yang ditentukan aplikasi untuk mengurutkan grup menurut ID dalam kontrol tampilan daftar.
BOOL SortGroups(
PFNLVGROUPCOMPARE _pfnGroupCompare,
LPVOID _plv);
Parameter
_pfnGroupCompare
Penunjuk ke fungsi perbandingan grup.
_plv
Sebuah penunjuk yang batal.
Tampilkan Nilai
Mengembalikan TRUE
keberhasilan, FALSE
jika gagal.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas LVM_SORTGROUPS
pesan, seperti yang dijelaskan dalam Windows SDK.
CListCtrl::SortItems
Mengurutkan item tampilan daftar dengan menggunakan fungsi perbandingan yang ditentukan aplikasi.
BOOL SortItems(
PFNLVCOMPARE pfnCompare,
DWORD_PTR dwData);
Parameter
pfnCompare
[di] Alamat fungsi perbandingan yang ditentukan aplikasi.
Operasi pengurutan memanggil fungsi perbandingan setiap kali urutan relatif dari dua item daftar perlu ditentukan. Fungsi perbandingan harus merupakan anggota statis kelas atau fungsi mandiri yang bukan anggota kelas apa pun.
dwData
[di] Nilai yang ditentukan aplikasi yang diteruskan ke fungsi perbandingan.
Tampilkan Nilai
TRUE
jika metode berhasil; jika tidak FALSE
.
Keterangan
Metode ini mengubah indeks setiap item untuk mencerminkan urutan baru.
Fungsi perbandingan, pfnCompare
, memiliki formulir berikut:
int CALLBACK CompareFunc(LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
Fungsi perbandingan harus mengembalikan nilai negatif jika item pertama harus mendahului yang kedua, nilai positif jika item pertama harus mengikuti item kedua, atau nol jika dua item sama.
Parameter lParam1
adalah nilai 32-bit (64-bit jika Anda mengkompilasi untuk x64) yang terkait dengan item pertama yang dibandingkan, dan lParam2
parameter adalah nilai yang terkait dengan item kedua. Ini adalah nilai yang ditentukan dalam lParam
anggota struktur item LVITEM
saat disisipkan ke dalam daftar. Parameter lParamSort
sama dengan dwData
nilai .
Metode ini mengirim LVM_SORTITEMS
pesan, yang dijelaskan dalam Windows SDK.
Contoh
Berikut ini adalah fungsi perbandingan sederhana yang menghasilkan item yang diurutkan berdasarkan nilainya lParam
.
// Sort items by associated lParam
int CALLBACK CListCtrlDlg::MyCompareProc(LPARAM lParam1, LPARAM lParam2,
LPARAM lParamSort)
{
UNREFERENCED_PARAMETER(lParamSort);
return (int)(lParam1 - lParam2);
}
// Sort the items by passing in the comparison function.
void CListCtrlDlg::Sort()
{
m_myListCtrl.SortItems(&CListCtrlDlg::MyCompareProc, 0);
}
CListCtrl::SortItemsEx
Mengurutkan item kontrol tampilan daftar saat ini dengan menggunakan fungsi perbandingan yang ditentukan aplikasi.
BOOL SortItemsEx(
PFNLVCOMPARE pfnCompare,
DWORD_PTR dwData);
Parameter
pfnCompare
[di] Alamat fungsi perbandingan yang ditentukan aplikasi. Operasi pengurutan memanggil fungsi perbandingan setiap kali urutan relatif dari dua item daftar perlu ditentukan. Fungsi perbandingan harus merupakan anggota statis kelas atau fungsi mandiri yang bukan anggota kelas apa pun.
dwData
[di] Nilai yang ditentukan aplikasi diteruskan ke fungsi perbandingan.
Tampilkan Nilai
TRUE
jika metode ini berhasil; jika tidak, FALSE
.
Keterangan
Metode ini mengubah indeks setiap item untuk mencerminkan urutan baru.
Fungsi perbandingan, pfnCompare
, memiliki formulir berikut:
int CALLBACK CompareFunc(LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
Pesan ini seperti LVM_SORTITEMS
, kecuali untuk jenis informasi yang diteruskan ke fungsi perbandingan. Di LVM_SORTITEMS
, lParam1
dan lParam2
adalah nilai item yang akan dibandingkan. Dalam LVM_SORTITEMSEX
, lParam1
adalah indeks saat ini dari item pertama yang dibandingkan dan lParam2
merupakan indeks saat ini dari item kedua. Anda dapat mengirim pesan LVM_GETITEMTEXT
untuk mengambil informasi selengkapnya tentang item.
Fungsi perbandingan harus mengembalikan nilai negatif jika item pertama harus mendahului yang kedua, nilai positif jika item pertama harus mengikuti item kedua, atau nol jika dua item sama.
Catatan
Selama proses pengurutan, konten tampilan daftar tidak stabil. Jika fungsi panggilan balik mengirim pesan apa pun ke kontrol tampilan daftar selain LVM_GETITEM
, hasilnya tidak dapat diprediksi.
Metode ini mengirim LVM_SORTITEMSEX
pesan, yang dijelaskan dalam Windows SDK.
Contoh
Contoh kode pertama mendefinisikan variabel, m_listCtrl
, yang digunakan untuk mengakses kontrol tampilan daftar saat ini. Variabel ini digunakan dalam contoh berikutnya.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
Contoh kode berikutnya menunjukkan SortItemEx
metode . Di bagian sebelumnya dari contoh kode ini, kami membuat kontrol tampilan daftar yang menampilkan dua kolom berjudul "ClientID" dan "Grade" dalam tampilan laporan. Contoh kode berikut mengurutkan tabel dengan menggunakan nilai di kolom "Nilai".
// The ListCompareFunc() method is a global function used by SortItemEx().
int CALLBACK ListCompareFunc(
LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort)
{
CListCtrl* pListCtrl = (CListCtrl*) lParamSort;
CString strItem1 = pListCtrl->GetItemText(static_cast<int>(lParam1), 1);
CString strItem2 = pListCtrl->GetItemText(static_cast<int>(lParam2), 1)
int x1 = _tstoi(strItem1.GetBuffer());
int x2 = _tstoi(strItem2.GetBuffer());
int result = 0;
if ((x1 - x2) < 0)
result = -1;
else if ((x1 - x2) == 0)
result = 0;
else
result = 1;
return result;
}
void CCListCtrl_s2Dlg::OnBnClickedButton1()
{
// SortItemsEx
m_listCtrl.SortItemsEx( ListCompareFunc, (LPARAM)&m_listCtrl );
}
CListCtrl::SubItemHitTest
Menentukan item tampilan daftar mana, jika ada, berada pada posisi tertentu.
int SubItemHitTest(LPLVHITTESTINFO pInfo);
Parameter
pInfo
Penunjuk ke LVHITTESTINFO
struktur.
Tampilkan Nilai
Indeks berbasis satu item, atau subitem, sedang diuji (jika ada), atau -1 sebaliknya.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku makro Win32, , ListView_SubItemHitTest
seperti yang dijelaskan dalam Windows SDK.
Contoh
void CListCtrlDlg::OnDblClk(NMHDR* pNMHDR, LRESULT* pResult)
{
UNREFERENCED_PARAMETER(pResult);
LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
LVHITTESTINFO lvhti;
// Clear the subitem text the user clicked on.
lvhti.pt = pia->ptAction;
m_myListCtrl.SubItemHitTest(&lvhti);
if (lvhti.flags & LVHT_ONITEMLABEL)
{
m_myListCtrl.SetItemText(lvhti.iItem, lvhti.iSubItem, NULL);
}
}
CListCtrl::Update
Memaksa kontrol tampilan daftar untuk mengecat ulang item yang ditentukan oleh nItem
.
BOOL Update(int nItem);
Parameter
nItem
Indeks item yang akan diperbarui.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Fungsi ini juga mengatur kontrol tampilan daftar jika memiliki LVS_AUTOARRANGE
gaya.
Contoh
Lihat contoh untuk CListCtrl::GetSelectedCount
.
Lihat juga
DAFTAR BARIS Sampel MFC
CWnd
Kelas
Bagan Hierarki
CImageList
Kelas