CMFCListCtrl
Kelas
Kelas CMFCListCtrl
memperluas fungsionalitasCListCtrl
kelas Kelas dengan mendukung fungsionalitas kontrol header tingkat lanjut kelasCMFCHeaderCtrl
.
Sintaks
class CMFCListCtrl : public CListCtrl
Anggota
Metode Publik
Nama | Deskripsi |
---|---|
CMFCListCtrl::EnableMarkSortedColumn |
Memungkinkan kemampuan untuk menandai kolom yang diurutkan dengan warna latar belakang yang berbeda. |
CMFCListCtrl::EnableMultipleSort |
Mengaktifkan beberapa mode pengurutan. |
CMFCListCtrl::GetHeaderCtrl |
Mengembalikan referensi ke kontrol header bergaris bawah. |
CMFCListCtrl::IsMultipleSort |
Memeriksa apakah kontrol daftar berada dalam beberapa mode pengurutan. |
CMFCListCtrl::OnCompareItems |
Dipanggil oleh kerangka kerja ketika harus membandingkan dua item kontrol daftar. |
CMFCListCtrl::OnGetCellBkColor |
Dipanggil oleh kerangka kerja ketika harus menentukan warna latar belakang sel individual. |
CMFCListCtrl::OnGetCellFont |
Dipanggil oleh kerangka kerja ketika harus mendapatkan font untuk sel yang sedang digambar. |
CMFCListCtrl::OnGetCellTextColor |
Dipanggil oleh kerangka kerja ketika harus menentukan warna teks sel individual. |
CMFCListCtrl::RemoveSortColumn |
Menghapus kolom pengurutan dari daftar kolom yang diurutkan. |
CMFCListCtrl::SetSortColumn |
Mengatur kolom yang diurutkan saat ini dan urutan pengurutan. |
CMFCListCtrl::Sort |
Mengurutkan kontrol daftar. |
Keterangan
CMFCListCtrl
menawarkan dua peningkatan ke CListCtrl
kelas Kelas . Pertama, ini menunjukkan bahwa pengurutan kolom adalah opsi yang tersedia dengan secara otomatis menggambar panah pengurutan pada header. Kedua, mendukung pengurutan data pada beberapa kolom secara bersamaan.
Contoh
Contoh berikut menunjukkan cara menggunakan berbagai metode di CMFCListCtrl
kelas . Contoh memperlihatkan cara membuat kontrol daftar, menyisipkan kolom, menyisipkan item, mengatur teks item, dan mengatur font kontrol daftar. Cuplikan kode ini adalah bagian dari sampel Demo Visual Studio.
CMFCListCtrl m_wndWatch;
// DWORD dwStyle
// CRect rectDummy
m_wndWatch.Create(dwStyle, rectDummy, this, ID_LIST_1);
m_wndWatch.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_wndWatch.InsertColumn(0, _T("Variable"), LVCFMT_LEFT, 100);
m_wndWatch.InsertColumn(1, _T("Value"), LVCFMT_LEFT, 100);
m_wndWatch.InsertItem(0, _T("m_nCount"));
m_wndWatch.SetItemText(0, 1, _T("100"));
m_wndWatch.SetFont(&m_Font);
Hierarki Warisan
Persyaratan
Header: afxlistctrl.h
CMFCListCtrl::EnableMarkSortedColumn
Menandai kolom yang diurutkan dengan warna latar belakang yang berbeda.
void EnableMarkSortedColumn(
BOOL bMark = TRUE,
BOOL bRedraw = TRUE);
Parameter
bMark
[di] Parameter Boolean yang menentukan apakah akan mengaktifkan warna latar belakang yang berbeda.
bRedraw
[di] Parameter Boolean yang menentukan apakah akan segera menggambar ulang kontrol.
Keterangan
EnableMarkSortedColumn
menggunakan metode CDrawingManager::PixelAlpha
untuk menghitung warna apa yang akan digunakan untuk kolom yang diurutkan. Warna yang dipilih didasarkan pada warna latar belakang reguler.
CMFCListCtrl::EnableMultipleSort
Memungkinkan pengurutan baris data dalam kontrol daftar menurut beberapa kolom.
void EnableMultipleSort(BOOL bEnable = TRUE);
Parameter
bEnable
[di] Boolean yang menentukan apakah akan mengaktifkan beberapa mode pengurutan kolom.
Keterangan
Saat Anda mengaktifkan pengurutan berdasarkan beberapa kolom, kolom memiliki hierarki. Baris data pertama-tama akan diurutkan menurut kolom utama. Setiap nilai yang setara kemudian diurutkan berdasarkan setiap kolom berikutnya berdasarkan prioritas.
CMFCListCtrl::GetHeaderCtrl
Mengembalikan referensi ke kontrol header.
virtual CMFCHeaderCtrl& GetHeaderCtrl();
Tampilkan Nilai
Referensi ke objek yang mendasar CMFCHeaderCtrl
.
Keterangan
Kontrol header untuk kontrol daftar adalah jendela yang berisi judul untuk kolom. Biasanya diposisikan tepat di atas kolom.
CMFCListCtrl::IsMultipleSort
Memeriksa apakah kontrol daftar saat ini mendukung pengurutan pada beberapa kolom.
BOOL IsMultipleSort() const;
Tampilkan Nilai
TRUE
jika kontrol daftar mendukung beberapa pengurutan; FALSE
Sebaliknya.
Keterangan
CMFCListCtrl
Saat Kelas mendukung beberapa pengurutan, pengguna dapat mengurutkan data dalam kontrol daftar menurut beberapa kolom. Untuk mengaktifkan beberapa pengurutan, panggil CMFCListCtrl::EnableMultipleSort
.
CMFCListCtrl::OnCompareItems
Kerangka kerja memanggil metode ini ketika membandingkan dua item.
virtual int OnCompareItems(
LPARAM lParam1,
LPARAM lParam2,
int iColumn);
Parameter
lParam1
[di] Item pertama yang akan dibandingkan.
lParam2
[di] Item kedua yang akan dibandingkan.
iColumn
[di] Indeks kolom yang diurutkan metode ini.
Tampilkan Nilai
Bilangan bulat yang menunjukkan posisi relatif dari dua item. Nilai negatif menunjukkan item pertama harus mendahului yang kedua, nilai positif menunjukkan item pertama harus mengikuti item kedua, dan nol berarti dua item tersebut setara.
Keterangan
Implementasi default selalu mengembalikan 0. Ambil alih fungsi ini untuk menyediakan algoritma pengurutan Anda sendiri.
CMFCListCtrl::OnGetCellBkColor
Kerangka kerja memanggil metode ini ketika harus menentukan warna latar belakang sel individual.
virtual COLORREF OnGetCellBkColor(
int nRow,
int nColumn);
Parameter
nRow
[di] Baris sel yang dimaksud.
nColumn
[di] Kolom sel yang dimaksud.
Tampilkan Nilai
Nilai COLOREF
yang menentukan warna latar belakang sel.
Keterangan
Implementasi OnGetCellBkColor
default tidak menggunakan parameter input yang disediakan dan hanya memanggil GetBkColor
. Oleh karena itu, secara default, seluruh kontrol daftar akan memiliki warna latar belakang yang sama. Anda dapat mengambil OnGetCellBkColor
alih di kelas turunan untuk menandai sel individual dengan warna latar belakang terpisah.
CMFCListCtrl::OnGetCellFont
Kerangka kerja memanggil metode ini ketika mendapatkan font untuk sel individual.
virtual HFONT OnGetCellFont(
int nRow,
int nColumn,
DWORD dwData = 0);
Parameter
nRow
[di] Baris sel yang dimaksud.
nColumn
[di] Kolom sel yang dimaksud.
dwData
[di] Data yang ditentukan pengguna. Implementasi default tidak menggunakan parameter ini.
Tampilkan Nilai
Handel ke font yang digunakan untuk sel saat ini.
Keterangan
Secara default, metode ini mengembalikan NULL
. Semua sel dalam kontrol daftar memiliki font yang sama. Ambil alih metode ini untuk menyediakan font yang berbeda untuk sel yang berbeda.
CMFCListCtrl::OnGetCellTextColor
Kerangka kerja memanggil metode ini ketika harus menentukan warna teks sel individual.
virtual COLORREF OnGetCellTextColor(
int nRow,
int nColumn);
Parameter
nRow
[di] Baris sel yang dimaksud.
nColumn
[di] Kolom sel yang dimaksud.
Tampilkan Nilai
Nilai COLOREF
yang menentukan warna teks sel.
Keterangan
Secara default, metode ini memanggil GetTextColor
terlepas dari parameter input. Seluruh kontrol daftar akan memiliki warna teks yang sama. Anda dapat mengambil OnGetCellTextColor
alih kelas turunan untuk menandai sel individual dengan warna teks terpisah.
CMFCListCtrl::RemoveSortColumn
Menghapus kolom pengurutan dari daftar kolom yang diurutkan.
void RemoveSortColumn(int iColumn);
Parameter
iColumn
[di] Kolom yang akan dihapus.
Keterangan
Metode ini menghapus kolom pengurutan dari kontrol header. Ini memanggil CMFCHeaderCtrl::RemoveSortColumn
.
CMFCListCtrl::SetSortColumn
Mengatur kolom yang diurutkan saat ini dan urutan pengurutan.
void SetSortColumn(
int iColumn,
BOOL bAscending = TRUE,
BOOL bAdd = FALSE);
Parameter
iColumn
[di] Kolom yang akan diurutkan.
bAscending
[di] Boolean yang menentukan urutan pengurutan.
bAdd
[di] Boolean yang menentukan apakah metode menambahkan kolom yang ditunjukkan oleh iColumn
ke daftar kolom pengurutan.
Keterangan
Metode ini meneruskan parameter input ke kontrol header dengan menggunakan metode CMFCHeaderCtrl::SetSortColumn
.
CMFCListCtrl::Sort
Mengurutkan kontrol daftar.
virtual void Sort(
int iColumn,
BOOL bAscending = TRUE,
BOOL bAdd = FALSE);
Parameter
iColumn
[di] Kolom yang akan diurutkan.
bAscending
[di] Boolean yang menentukan urutan pengurutan.
bAdd
[di] Boolean yang menentukan apakah metode ini menambahkan kolom yang ditunjukkan oleh iColumn
ke daftar kolom pengurutan.