Share via


CMFCListCtrl-klasse

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

De CMFCListCtrl klasse breidt de functionaliteit van CListCtrl klasse uit door de geavanceerde functionaliteit voor headerbesturing van de CMFCHeaderCtrl klasse te ondersteunen.

Syntaxis

class CMFCListCtrl : public CListCtrl

Leden

Openbare methoden

Naam Description
CMFCListCtrl::EnableMarkSortedColumn Hiermee kunt u een gesorteerde kolom met een andere achtergrondkleur markeren.
CMFCListCtrl::EnableMultipleSort Hiermee schakelt u meerdere sorteermodus in.
CMFCListCtrl::GetHeaderCtrl Retourneert een verwijzing naar het onderstreepte koptekst besturingselement.
CMFCListCtrl::IsMultipleSort Controleert of het besturingselement voor lijsten zich in meerdere sorteermodus bevindt.
CMFCListCtrl::OnCompareItems Aangeroepen door het framework wanneer er twee lijstbeheeritems moeten worden vergeleken.
CMFCListCtrl::OnGetCellBkColor Aangeroepen door het framework wanneer de achtergrondkleur van een afzonderlijke cel moet worden bepaald.
CMFCListCtrl::OnGetCellFont Aangeroepen door het framework wanneer het lettertype moet worden verkregen voor de cel die wordt getekend.
CMFCListCtrl::OnGetCellTextColor Aangeroepen door het framework wanneer de tekstkleur van een afzonderlijke cel moet worden bepaald.
CMFCListCtrl::RemoveSortColumn Hiermee verwijdert u een sorteerkolom uit de lijst met gesorteerde kolommen.
CMFCListCtrl::SetSortColumn Hiermee stelt u de huidige gesorteerde kolom en de sorteervolgorde in.
CMFCListCtrl::Sort Hiermee sorteert u het besturingselement voor de lijst.

Opmerkingen

CMFCListCtrlbiedt twee verbeteringen aanCListCtrl klasseklasse. Ten eerste wordt aangegeven dat kolomsortering een beschikbare optie is door automatisch een sorteerpijl op de koptekst te tekenen. Ten tweede ondersteunt het sorteren van gegevens op meerdere kolommen tegelijk.

Example

In het volgende voorbeeld ziet u hoe u verschillende methoden in de CMFCListCtrl klasse gebruikt. In het voorbeeld ziet u hoe u een lijstbeheer maakt, kolommen invoegt, items invoegt, de tekst van een item instelt en het lettertype van het besturingselement lijst instelt. Dit codefragment maakt deel uit van het Visual Studio Demo-voorbeeld.

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);

Overnamehiërarchie

CObject

CCmdTarget

CWnd

CListCtrl

CMFCListCtrl

Requirements

Rubriek:afxlistctrl.h

CMFCListCtrl::EnableMarkSortedColumn

Hiermee markeert u de gesorteerde kolommen met een andere achtergrondkleur.

void EnableMarkSortedColumn(
    BOOL bMark = TRUE,
    BOOL bRedraw = TRUE);

Parameterwaarden

bMark
[in] Een Booleaanse parameter die bepaalt of een andere achtergrondkleur moet worden ingeschakeld.

bRedraw
[in] Een Booleaanse parameter die bepaalt of het besturingselement onmiddellijk opnieuw moet worden getekend.

Opmerkingen

EnableMarkSortedColumn gebruikt de methode CDrawingManager::PixelAlpha om te berekenen welke kleur moet worden gebruikt voor gesorteerde kolommen. De gekozen kleur is gebaseerd op de normale achtergrondkleur.

CMFCListCtrl::EnableMultipleSort

Hiermee kunt u de rijen met gegevens in het lijstbeheer sorteren op meerdere kolommen.

void EnableMultipleSort(BOOL bEnable = TRUE);

Parameterwaarden

bEnable
[in] Een Booleaanse waarde die aangeeft of de sorteermodus voor meerdere kolommen moet worden ingeschakeld.

Opmerkingen

Wanneer u sorteren op basis van meerdere kolommen inschakelt, hebben de kolommen wel een hiërarchie. De rijen met gegevens worden eerst gesorteerd op de primaire kolom. Alle equivalente waarden worden vervolgens gesorteerd op elke volgende kolom op basis van prioriteit.

CMFCListCtrl::GetHeaderCtrl

Retourneert een verwijzing naar het header-besturingselement.

virtual CMFCHeaderCtrl& GetHeaderCtrl();

Retourwaarde

Een verwijzing naar het onderliggende CMFCHeaderCtrl object.

Opmerkingen

Het besturingselement koptekst voor een lijst besturingselement is het venster met de titels voor de kolommen. Deze wordt meestal direct boven de kolommen weergegeven.

CMFCListCtrl::IsMultipleSort

Hiermee wordt gecontroleerd of het lijstbeheer momenteel ondersteuning biedt voor sorteren op meerdere kolommen.

BOOL IsMultipleSort() const;

Retourwaarde

TRUE als het besturingselement voor lijsten meerdere sorteringen ondersteunt; FALSE Anders.

Opmerkingen

Wanneer een CMFCListCtrl klasse meerdere sorteringen ondersteunt, kan de gebruiker de gegevens in het lijstbeheer sorteren op meerdere kolommen. Als u meerdere sorteringen wilt inschakelen, roept u het aan CMFCListCtrl::EnableMultipleSort.

CMFCListCtrl::OnCompareItems

In het framework wordt deze methode aangeroepen wanneer er twee items worden vergeleken.

virtual int OnCompareItems(
    LPARAM lParam1,
    LPARAM lParam2,
    int iColumn);

Parameterwaarden

lParam1
[in] Het eerste item dat moet worden vergeleken.

lParam2
[in] Het tweede item dat u wilt vergelijken.

iColumn
[in] De index van de kolom die met deze methode wordt gesorteerd.

Retourwaarde

Een geheel getal dat de relatieve positie van de twee items aangeeft. Een negatieve waarde geeft aan dat het eerste item moet voorafgaan aan de tweede, een positieve waarde geeft aan dat het eerste item de tweede moet volgen en nul betekent dat de twee items gelijkwaardig zijn.

Opmerkingen

De standaard implementatie retourneert altijd 0. Overschrijf deze functie om uw eigen sorteeralgoritmen op te geven.

CMFCListCtrl::OnGetCellBkColor

In het framework wordt deze methode aangeroepen wanneer deze de achtergrondkleur van een afzonderlijke cel moet bepalen.

virtual COLORREF OnGetCellBkColor(
    int nRow,
    int nColumn);

Parameterwaarden

nRow
[in] De rij van de cel in kwestie.

nColumn
[in] De kolom van de cel in kwestie.

Retourwaarde

Een COLOREF waarde die de achtergrondkleur van de cel aangeeft.

Opmerkingen

De standaard implementatie van maakt niet gebruik van OnGetCellBkColor de opgegeven invoerparameters en roept in plaats daarvan gewoon aan GetBkColor. Daarom heeft het hele lijst besturingselement standaard dezelfde achtergrondkleur. U kunt in een afgeleide klasse overschrijven OnGetCellBkColor om afzonderlijke cellen te markeren met een afzonderlijke achtergrondkleur.

CMFCListCtrl::OnGetCellFont

In het framework wordt deze methode aangeroepen wanneer het lettertype voor een afzonderlijke cel wordt verkregen.

virtual HFONT OnGetCellFont(
    int nRow,
    int nColumn,
    DWORD dwData = 0);

Parameterwaarden

nRow
[in] De rij van de cel in kwestie.

nColumn
[in] De kolom van de cel in kwestie.

dwData
[in] Door de gebruiker gedefinieerde gegevens. Voor de standaard implementatie wordt deze parameter niet gebruikt.

Retourwaarde

Een ingang voor het lettertype dat wordt gebruikt voor de huidige cel.

Opmerkingen

Deze methode retourneert NULLstandaard . Alle cellen in een lijst hebben hetzelfde lettertype. Overschrijf deze methode om verschillende lettertypen voor verschillende cellen op te geven.

CMFCListCtrl::OnGetCellTextColor

Dit framework roept deze methode aan wanneer deze de tekstkleur van een afzonderlijke cel moet bepalen.

virtual COLORREF OnGetCellTextColor(
    int nRow,
    int nColumn);

Parameterwaarden

nRow
[in] De rij van de cel in kwestie.

nColumn
[in] De kolom van de cel in kwestie.

Retourwaarde

Een COLOREF waarde die de tekstkleur van de cel aangeeft.

Opmerkingen

Deze methode roept GetTextColor standaard aan ongeacht invoerparameters. Het besturingselement voor de hele lijst heeft dezelfde tekstkleur. U kunt in een afgeleide klasse overschrijven OnGetCellTextColor om afzonderlijke cellen te markeren met een afzonderlijke tekstkleur.

CMFCListCtrl::RemoveSortColumn

Hiermee verwijdert u een sorteerkolom uit de lijst met gesorteerde kolommen.

void RemoveSortColumn(int iColumn);

Parameterwaarden

iColumn
[in] De kolom die u wilt verwijderen.

Opmerkingen

Met deze methode wordt een sorteerkolom verwijderd uit het besturingselement voor de koptekst. Het roept CMFCHeaderCtrl::RemoveSortColumn.

CMFCListCtrl::SetSortColumn

Hiermee stelt u de huidige gesorteerde kolom en de sorteervolgorde in.

void SetSortColumn(
    int iColumn,
    BOOL bAscending = TRUE,
    BOOL bAdd = FALSE);

Parameterwaarden

iColumn
[in] De kolom die moet worden gesorteerd.

bAscending
[in] Een Booleaanse waarde die de sorteervolgorde aangeeft.

bAdd
[in] Een Booleaanse waarde die aangeeft of de methode de kolom toevoegt die wordt aangegeven aan iColumn de lijst met sorteerkolommen.

Opmerkingen

Met deze methode worden de invoerparameters doorgegeven aan het header-besturingselement met behulp van de methode CMFCHeaderCtrl::SetSortColumn.

CMFCListCtrl::Sort

Hiermee sorteert u het besturingselement voor de lijst.

virtual void Sort(
    int iColumn,
    BOOL bAscending = TRUE,
    BOOL bAdd = FALSE);

Parameterwaarden

iColumn
[in] De kolom die moet worden gesorteerd.

bAscending
[in] Een Booleaanse waarde die de sorteervolgorde aangeeft.

bAdd
[in] Een Booleaanse waarde die aangeeft of met deze methode de kolom wordt toegevoegd die wordt aangegeven aan iColumn de lijst met sorteerkolommen.

Zie ook

Hiërarchiegrafiek
Klassen
CListCtrl klasse