Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
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.