Megosztás a következőn keresztül:


CMFCListCtrl osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Az CMFCListCtrl osztály az osztály speciális fejlécvezérlő funkciójának támogatásával bővíti az Osztályosztály funkcióitCListCtrlCMFCHeaderCtrl.

Szemantika

class CMFCListCtrl : public CListCtrl

Tagok

Nyilvános metódusok

Név Description
CMFCListCtrl::EnableMarkSortedColumn Lehetővé teszi, hogy egy rendezett oszlopot más háttérszínnel jelöljön meg.
CMFCListCtrl::EnableMultipleSort Több rendezési módot tesz lehetővé.
CMFCListCtrl::GetHeaderCtrl Az aláhúzott fejléc vezérlőelemre mutató hivatkozást ad vissza.
CMFCListCtrl::IsMultipleSort Ellenőrzi, hogy a listavezérlő több rendezési módban van-e.
CMFCListCtrl::OnCompareItems A keretrendszer meghívja, amikor két listavezérlő elemet kell összehasonlítania.
CMFCListCtrl::OnGetCellBkColor A keretrendszer meghívja, amikor meg kell határoznia az egyes cellák háttérszínét.
CMFCListCtrl::OnGetCellFont A keretrendszer meghívja, amikor be kell szereznie a rajzolt cella betűtípusát.
CMFCListCtrl::OnGetCellTextColor A keretrendszer meghívja, amikor meg kell határoznia az egyes cellák szövegszínét.
CMFCListCtrl::RemoveSortColumn Eltávolít egy rendezési oszlopot a rendezett oszlopok listájából.
CMFCListCtrl::SetSortColumn Beállítja az aktuális rendezési oszlopot és a rendezési sorrendet.
CMFCListCtrl::Sort Rendezi a listavezérlőt.

Megjegyzések

CMFCListCtrlkét fejlesztést kínál az osztályosztályhozCListCtrl. Először is azt jelzi, hogy az oszloprendezés elérhető lehetőség, ha automatikusan rendezési nyíllal rajzolja meg az élőfejet. Másodszor, egyszerre több oszlopon is támogatja az adatok rendezését.

Example

Az alábbi példa bemutatja, hogyan használhat különböző metódusokat az CMFCListCtrl osztályban. A példa bemutatja, hogyan hozhat létre listavezérlőt, szúrhat be oszlopokat, szúrhat be elemeket, állíthatja be egy elem szövegét, és hogyan állíthatja be a listavezérlő betűtípusát. Ez a kódrészlet a Visual Studio Demo-minta része.

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

Öröklési hierarchia

CObject

CCmdTarget

CWnd

CListCtrl

CMFCListCtrl

Requirements

Fejléc:afxlistctrl.h

CMFCListCtrl::EnableMarkSortedColumn

A rendezett oszlopokat más háttérszínnel jelöli meg.

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

Paraméterek

bMark
[in] Logikai paraméter, amely meghatározza, hogy engedélyez-e más háttérszínt.

bRedraw
[in] Logikai paraméter, amely meghatározza, hogy a vezérlőt azonnal újra kell-e újrarajzolva.

Megjegyzések

EnableMarkSortedColumn a metódussal CDrawingManager::PixelAlpha kiszámítja, hogy milyen színt használjon a rendezett oszlopokhoz. A kiválasztott szín a normál háttérszínen alapul.

CMFCListCtrl::EnableMultipleSort

Lehetővé teszi az adatsorok több oszlop szerinti rendezését a listavezérlőben.

void EnableMultipleSort(BOOL bEnable = TRUE);

Paraméterek

bEnable
[in] Logikai érték, amely meghatározza, hogy engedélyezve legyen-e több oszlop rendezési mód.

Megjegyzések

Ha több oszlop alapján engedélyezi a rendezést, az oszlopok hierarchiával rendelkeznek. Az adatsorokat először az elsődleges oszlop rendezi. Ezután a rendszer minden egyenértékű értéket prioritás alapján rendez minden további oszlop szerint.

CMFCListCtrl::GetHeaderCtrl

A fejléc vezérlőelemre mutató hivatkozást ad vissza.

virtual CMFCHeaderCtrl& GetHeaderCtrl();

Visszaadott érték

Hivatkozás a mögöttes CMFCHeaderCtrl objektumra.

Megjegyzések

A listavezérlő fejléc vezérlőeleme az az ablak, amely az oszlopok címét tartalmazza. Általában közvetlenül az oszlopok fölött helyezkedik el.

CMFCListCtrl::IsMultipleSort

Ellenőrzi, hogy a listavezérlő jelenleg támogatja-e a rendezést több oszlopon.

BOOL IsMultipleSort() const;

Visszaadott érték

TRUE ha a listavezérlő több rendezést is támogat; FALSE Egyébként.

Megjegyzések

Ha egy CMFCListCtrl osztály több rendezést is támogat, a felhasználó több oszlop szerint rendezheti a listavezérlő adatait. Több rendezés engedélyezéséhez hívja meg a .CMFCListCtrl::EnableMultipleSort

CMFCListCtrl::OnCompareItems

A keretrendszer ezt a metódust hívja meg, amikor két elemet hasonlít össze.

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

Paraméterek

lParam1
[in] Az első összehasonlítandó elem.

lParam2
[in] A második összehasonlítandó elem.

iColumn
[in] Annak az oszlopnak az indexe, amelyet ez a metódus rendez.

Visszaadott érték

A két elem relatív pozícióját jelző egész szám. A negatív érték azt jelzi, hogy az első elemnek a második előtt kell lennie, a pozitív érték azt jelzi, hogy az első elemnek a másodikat kell követnie, a nulla pedig azt jelenti, hogy a két elem egyenértékű.

Megjegyzések

Az alapértelmezett implementáció mindig 0 értéket ad vissza. A függvény felülbírálása saját rendezési algoritmus biztosításához.

CMFCListCtrl::OnGetCellBkColor

A keretrendszer akkor hívja meg ezt a metódust, ha meg kell határoznia az egyes cellák háttérszínét.

virtual COLORREF OnGetCellBkColor(
    int nRow,
    int nColumn);

Paraméterek

nRow
[in] A szóban forgó cella sora.

nColumn
[in] A szóban forgó cella oszlopa.

Visszaadott érték

A COLOREF cella háttérszínét meghatározó érték.

Megjegyzések

Az alapértelmezett implementáció OnGetCellBkColor nem használja a megadott bemeneti paramétereket, hanem egyszerűen meghívja GetBkColorőket. Ezért alapértelmezés szerint a teljes listavezérlő háttérszíne megegyezik. A származtatott osztályban felülbírálhatja OnGetCellBkColor az egyes cellákat külön háttérszínnel.

CMFCListCtrl::OnGetCellFont

A keretrendszer ezt a metódust hívja meg, amikor beszerzi az egyes cellák betűtípusát.

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

Paraméterek

nRow
[in] A szóban forgó cella sora.

nColumn
[in] A szóban forgó cella oszlopa.

dwData
[in] Felhasználó által definiált adatok. Az alapértelmezett implementáció nem használja ezt a paramétert.

Visszaadott érték

Az aktuális cellához használt betűtípus fogópontja.

Megjegyzések

Alapértelmezés szerint ez a metódus ad vissza NULL. A listavezérlő összes cellája ugyanazzal a betűtípussal rendelkezik. Bírálja felül ezt a metódust, hogy különböző betűtípusokat biztosítson a különböző cellákhoz.

CMFCListCtrl::OnGetCellTextColor

A keretrendszer akkor hívja meg ezt a metódust, ha meg kell határoznia egy adott cella szövegszínét.

virtual COLORREF OnGetCellTextColor(
    int nRow,
    int nColumn);

Paraméterek

nRow
[in] A szóban forgó cella sora.

nColumn
[in] A szóban forgó cella oszlopa.

Visszaadott érték

A COLOREF cella szövegszínét meghatározó érték.

Megjegyzések

Ez a metódus alapértelmezés szerint a bemeneti paraméterektől függetlenül hív GetTextColor . A teljes listavezérlő szövegszíne megegyezik. A származtatott osztályban felülbírálhatja OnGetCellTextColor az egyes cellákat külön szövegszínnel.

CMFCListCtrl::RemoveSortColumn

Eltávolít egy rendezési oszlopot a rendezett oszlopok listájából.

void RemoveSortColumn(int iColumn);

Paraméterek

iColumn
[in] Az eltávolítandó oszlop.

Megjegyzések

Ez a metódus eltávolít egy rendezési oszlopot a fejlécvezérlőből. Meghívja CMFCHeaderCtrl::RemoveSortColumn.

CMFCListCtrl::SetSortColumn

Beállítja az aktuális rendezési oszlopot és a rendezési sorrendet.

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

Paraméterek

iColumn
[in] A rendezendő oszlop.

bAscending
[in] A rendezési sorrendet meghatározó logikai érték.

bAdd
[in] Logikai érték, amely meghatározza, hogy a metódus hozzáadja-e a rendezési oszlopok listájához a megadott iColumn oszlopot.

Megjegyzések

Ez a metódus a metódussal továbbítja a bemeneti paramétereket a fejlécvezérlőnek CMFCHeaderCtrl::SetSortColumn.

CMFCListCtrl::Sort

Rendezi a listavezérlőt.

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

Paraméterek

iColumn
[in] A rendezendő oszlop.

bAscending
[in] A rendezési sorrendet meghatározó logikai érték.

bAdd
[in] Logikai érték, amely meghatározza, hogy ez a metódus hozzáadja-e a rendezési oszlopok listájához a megadott iColumn oszlopot.

Lásd még

hierarchiadiagram
osztályok
CListCtrl osztály