CMFCListCtrl
Sınıf
sınıfı, CMFCListCtrl
Sınıfın CListCtrl
gelişmiş üst bilgi denetimi işlevselliğini destekleyerek Class sınıfının işlevselliğini CMFCHeaderCtrl
genişletir.
Sözdizimi
class CMFCListCtrl : public CListCtrl
Üyeler
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CMFCListCtrl::EnableMarkSortedColumn |
Sıralanmış bir sütunu farklı bir arka plan rengiyle işaretleme olanağı sağlar. |
CMFCListCtrl::EnableMultipleSort |
Birden çok sıralama modunu etkinleştirir. |
CMFCListCtrl::GetHeaderCtrl |
Altı çizili üst bilgi denetimine başvuru döndürür. |
CMFCListCtrl::IsMultipleSort |
Liste denetiminin birden çok sıralama modunda olup olmadığını denetler. |
CMFCListCtrl::OnCompareItems |
İki liste denetimi öğesini karşılaştırması gerektiğinde çerçeve tarafından çağrılır. |
CMFCListCtrl::OnGetCellBkColor |
Tek bir hücrenin arka plan rengini belirlemesi gerektiğinde çerçeve tarafından çağrılır. |
CMFCListCtrl::OnGetCellFont |
Çizilmekte olan hücrenin yazı tipini alması gerektiğinde çerçeve tarafından çağrılır. |
CMFCListCtrl::OnGetCellTextColor |
Tek bir hücrenin metin rengini belirlemesi gerektiğinde çerçeve tarafından çağrılır. |
CMFCListCtrl::RemoveSortColumn |
Sıralanmış sütunlar listesinden sıralama sütununu kaldırır. |
CMFCListCtrl::SetSortColumn |
Geçerli sıralanmış sütunu ve sıralama düzenini ayarlar. |
CMFCListCtrl::Sort |
Liste denetimini sıralar. |
Açıklamalar
CMFCListCtrl
, Sınıf sınıfına CListCtrl
yönelik iki geliştirme sunar. İlk olarak, üst bilgide otomatik olarak bir sıralama oku çizerek sütun sıralamanın kullanılabilir bir seçenek olduğunu gösterir. İkincisi, aynı anda birden çok sütunda veri sıralamayı destekler.
Örnek
Aşağıdaki örnekte, sınıftaki çeşitli yöntemlerin nasıl kullanılacağı gösterilmektedir CMFCListCtrl
. Örnekte liste denetimi oluşturma, sütun ekleme, öğe ekleme, öğenin metnini ayarlama ve liste denetiminin yazı tipini ayarlama gösterilmektedir. Bu kod parçacığı Visual Studio Tanıtım örneğinin bir parçasıdır.
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);
Devralma Hiyerarşisi
Gereksinimler
Üstbilgi: afxlistctrl.h
CMFCListCtrl::EnableMarkSortedColumn
Sıralanmış sütunları farklı bir arka plan rengiyle işaretler.
void EnableMarkSortedColumn(
BOOL bMark = TRUE,
BOOL bRedraw = TRUE);
Parametreler
bMark
[in] Farklı bir arka plan renginin etkinleştirilip etkinleştirilmeyeceğini belirleyen boole parametresi.
bRedraw
[in] Denetimin hemen yeniden çizilip çizileceğini belirleyen boole parametresi.
Açıklamalar
EnableMarkSortedColumn
, sıralanmış sütunlar için hangi rengin kullanılacağını hesaplamak için yöntemini CDrawingManager::PixelAlpha
kullanır. Seçilen renk, normal arka plan rengine bağlıdır.
CMFCListCtrl::EnableMultipleSort
Liste denetimindeki veri satırlarını birden çok sütuna göre sıralamayı etkinleştirir.
void EnableMultipleSort(BOOL bEnable = TRUE);
Parametreler
bEnable
[in] Birden çok sütun sıralama modunun etkinleştirilip etkinleştirilmeymeyeceğini belirten Boole değeri.
Açıklamalar
Birden çok sütuna göre sıralamayı etkinleştirdiğinizde, sütunların hiyerarşisi vardır. Veri satırları ilk olarak birincil sütuna göre sıralanır. Daha sonra tüm eşdeğer değerler, önceliğe göre sonraki her sütuna göre sıralanır.
CMFCListCtrl::GetHeaderCtrl
Üst bilgi denetimine başvuru döndürür.
virtual CMFCHeaderCtrl& GetHeaderCtrl();
Dönüş Değeri
Temel alınan CMFCHeaderCtrl
nesneye başvuru.
Açıklamalar
Liste denetiminin üst bilgi denetimi, sütunların başlıklarını içeren penceredir. Genellikle sütunların hemen üzerine yerleştirilir.
CMFCListCtrl::IsMultipleSort
Liste denetiminin şu anda birden çok sütunda sıralamayı destekleyip desteklemediğini denetler.
BOOL IsMultipleSort() const;
Dönüş Değeri
TRUE
liste denetimi birden çok sıralamayı destekliyorsa; FALSE
yoksa.
Açıklamalar
Sınıf CMFCListCtrl
birden çok sıralamayı desteklediğinde, kullanıcı liste denetimindeki verileri birden çok sütuna göre sıralayabilir. Birden çok sıralamayı etkinleştirmek için çağrısında bulunur CMFCListCtrl::EnableMultipleSort
.
CMFCListCtrl::OnCompareItems
Çerçeve, iki öğeyi karşılaştırdığında bu yöntemi çağırır.
virtual int OnCompareItems(
LPARAM lParam1,
LPARAM lParam2,
int iColumn);
Parametreler
lParam1
[in] Karşılaştıracak ilk öğe.
lParam2
[in] Karşılaştıracak ikinci öğe.
iColumn
[in] Bu yöntemin sıralama yaptığı sütunun dizini.
Dönüş Değeri
İki öğenin göreli konumunu gösteren bir tamsayı. Negatif bir değer, ilk öğenin ikinci öğeden önce olması gerektiğini, pozitif bir değer birinci öğenin ikinciyi izlemesi gerektiğini, sıfır ise iki öğenin eşdeğer olduğu anlamına gelir.
Açıklamalar
Varsayılan uygulama her zaman 0 döndürür. Kendi sıralama algoritmanızı sağlamak için bu işlevi geçersiz kılın.
CMFCListCtrl::OnGetCellBkColor
Çerçeve, tek bir hücrenin arka plan rengini belirlemesi gerektiğinde bu yöntemi çağırır.
virtual COLORREF OnGetCellBkColor(
int nRow,
int nColumn);
Parametreler
nRow
[in] Söz konusu hücrenin satırı.
nColumn
[in] Söz konusu hücrenin sütunu.
Dönüş Değeri
COLOREF
Hücrenin arka plan rengini belirten değer.
Açıklamalar
varsayılan uygulaması OnGetCellBkColor
, sağlanan giriş parametrelerini kullanmaz ve bunun yerine yalnızca öğesini çağırır GetBkColor
. Bu nedenle, varsayılan olarak tüm liste denetimi aynı arka plan rengine sahip olur. Ayrı bir arka plan rengiyle tek tek hücreleri işaretlemek için türetilmiş bir sınıfta geçersiz kılabilirsiniz OnGetCellBkColor
.
CMFCListCtrl::OnGetCellFont
Çerçeve, tek bir hücre için yazı tipini elde ettiğinde bu yöntemi çağırır.
virtual HFONT OnGetCellFont(
int nRow,
int nColumn,
DWORD dwData = 0);
Parametreler
nRow
[in] Söz konusu hücrenin satırı.
nColumn
[in] Söz konusu hücrenin sütunu.
dwData
[in] Kullanıcı tanımlı veriler. Varsayılan uygulama bu parametreyi kullanmaz.
Dönüş Değeri
Geçerli hücre için kullanılan yazı tipinin tutamacı.
Açıklamalar
Varsayılan olarak, bu yöntem döndürür NULL
. Liste denetimindeki tüm hücreler aynı yazı tipine sahiptir. Farklı hücreler için farklı yazı tipleri sağlamak için bu yöntemi geçersiz kılın.
CMFCListCtrl::OnGetCellTextColor
Çerçeve, tek bir hücrenin metin rengini belirlemesi gerektiğinde bu yöntemi çağırır.
virtual COLORREF OnGetCellTextColor(
int nRow,
int nColumn);
Parametreler
nRow
[in] Söz konusu hücrenin satırı.
nColumn
[in] Söz konusu hücrenin sütunu.
Dönüş Değeri
COLOREF
Hücrenin metin rengini belirten değer.
Açıklamalar
Varsayılan olarak, bu yöntem giriş parametrelerinden bağımsız olarak çağırır GetTextColor
. Liste denetiminin tamamı aynı metin rengine sahip olur. Tek tek hücreleri ayrı bir metin rengiyle işaretlemek için türetilmiş bir sınıfta geçersiz kılabilirsiniz OnGetCellTextColor
.
CMFCListCtrl::RemoveSortColumn
Sıralanmış sütunlar listesinden sıralama sütununu kaldırır.
void RemoveSortColumn(int iColumn);
Parametreler
iColumn
[in] Kaldırılacak sütun.
Açıklamalar
Bu yöntem, üst bilgi denetiminden bir sıralama sütununu kaldırır. çağrısında bulunur CMFCHeaderCtrl::RemoveSortColumn
.
CMFCListCtrl::SetSortColumn
Geçerli sıralanmış sütunu ve sıralama düzenini ayarlar.
void SetSortColumn(
int iColumn,
BOOL bAscending = TRUE,
BOOL bAdd = FALSE);
Parametreler
iColumn
[in] Sıralanacak sütun.
bAscending
[in] Sıralama düzenini belirten bir Boole değeri.
bAdd
[in] Yönteminin tarafından iColumn
belirtilen sütunu sıralama sütunları listesine ekleyip eklemediğini belirten Boole değeri.
Açıklamalar
Bu yöntem, yöntemini CMFCHeaderCtrl::SetSortColumn
kullanarak giriş parametrelerini üst bilgi denetimine geçirir.
CMFCListCtrl::Sort
Liste denetimini sıralar.
virtual void Sort(
int iColumn,
BOOL bAscending = TRUE,
BOOL bAdd = FALSE);
Parametreler
iColumn
[in] Sıralanacak sütun.
bAscending
[in] Sıralama düzenini belirten bir Boole değeri.
bAdd
[in] Bu yöntemin tarafından iColumn
belirtilen sütunu sıralama sütunları listesine ekleyip eklemediğini belirten boole değeri.