Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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
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.