Aracılığıyla paylaş


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

CObject

CCmdTarget

CWnd

CListCtrl

CMFCListCtrl

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::SetSortColumnkullanarak 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.

Ayrıca bkz.

Hiyerarşi Grafiği
Sınıflar
CListCtrl Sınıf