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.
Beágyazza a "listanézet-vezérlő" funkcióit, amely egy ikonból (képlistából) és egy címkéből álló elemgyűjteményt jelenít meg.
Szemantika
class CListCtrl : public CWnd
Tagok
Nyilvános konstruktorok
| Név | Description |
|---|---|
CListCtrl::CListCtrl |
Egy CListCtrl objektumot hoz létre. |
Nyilvános metódusok
| Név | Description |
|---|---|
CListCtrl::ApproximateViewRect |
Meghatározza a listanézet vezérlőelem elemeinek megjelenítéséhez szükséges szélességet és magasságot. |
CListCtrl::Arrange |
Rács elemeinek igazítása. |
CListCtrl::CancelEditLabel |
Megszakítja az elem szövegszerkesztési műveletét. |
CListCtrl::Create |
Létrehoz egy listavezérlőt, és csatolja egy CListCtrl objektumhoz. |
CListCtrl::CreateDragImage |
Létrehoz egy húzási képlistát egy adott elemhez. |
CListCtrl::CreateEx |
Létrehoz egy listavezérlőt a megadott Bővített Windows-stílusokkal, és csatolja egy CListCtrl objektumhoz. |
CListCtrl::DeleteAllItems |
Törli az összes elemet a vezérlőből. |
CListCtrl::DeleteColumn |
Oszlop törlése a listanézet vezérlőelemből. |
CListCtrl::DeleteItem |
Töröl egy elemet a vezérlőből. |
CListCtrl::DrawItem |
Akkor hívható meg, ha egy tulajdonos-rajz vezérlő vizuális aspektusa megváltozik. |
CListCtrl::EditLabel |
Megkezdi az elem szövegének helyben történő szerkesztését. |
CListCtrl::EnableGroupView |
Engedélyezi vagy letiltja, hogy a listanézet vezérlőelem elemei csoportként jelenjenek-e meg. |
CListCtrl::EnsureVisible |
Biztosítja, hogy egy elem látható legyen. |
CListCtrl::FindItem |
Megadott jellemzőkkel rendelkező listanézet-elemet keres. |
CListCtrl::GetBkColor |
Lekéri a listanézet vezérlőelem háttérszínét. |
CListCtrl::GetBkImage |
Lekéri egy listanézet vezérlőelem aktuális háttérképét. |
CListCtrl::GetCallbackMask |
Lekéri a visszahívási maszkot egy listanézet-vezérlőhöz. |
CListCtrl::GetCheck |
Lekéri az elemhez társított állapotkép aktuális megjelenítési állapotát. |
CListCtrl::GetColumn |
Lekéri egy vezérlőelem oszlopának attribútumait. |
CListCtrl::GetColumnOrderArray |
Egy listanézet vezérlőelem oszlopsorrendjének lekérése (balról jobbra). |
CListCtrl::GetColumnWidth |
Beolvassa egy oszlop szélességét jelentés- vagy listanézetben. |
CListCtrl::GetCountPerPage |
Kiszámítja a listanézet vezérlőelemben függőlegesen elférő elemek számát. |
CListCtrl::GetEditControl |
Lekéri az elem szövegének szerkesztéséhez használt szerkesztési vezérlő leíróját. |
CListCtrl::GetEmptyText |
Lekéri a sztringet, hogy megjelenjen, ha az aktuális listanézet-vezérlő üres. |
CListCtrl::GetExtendedStyle |
Lekéri egy listanézet vezérlőelem aktuális kiterjesztett stílusait. |
CListCtrl::GetFirstSelectedItemPosition |
A listanézet vezérlőelem első kijelölt listanézetelemének pozícióját kéri le. |
CListCtrl::GetFocusedGroup |
Lekéri azt a csoportot, amelynek a billentyűzetfókusza az aktuális listanézet-vezérlőben van. |
CListCtrl::GetGroupCount |
Lekéri az aktuális listanézet vezérlőelem csoportjainak számát. |
CListCtrl::GetGroupInfo |
Lekéri a listanézet vezérlőelem egy adott csoportjának adatait. |
CListCtrl::GetGroupInfoByIndex |
Az aktuális listanézet vezérlőelemben egy adott csoport adatait kéri le. |
CListCtrl::GetGroupMetrics |
Egy csoport metrikáit kéri le. |
CListCtrl::GetGroupRect |
Lekéri egy adott csoport határolókeretét az aktuális listanézet-vezérlőben. |
CListCtrl::GetGroupState |
Egy adott csoport állapotát kéri le az aktuális listanézet-vezérlőben. |
CListCtrl::GetHeaderCtrl |
Lekéri egy listanézet vezérlőelem fejléc vezérlőelemét. |
CListCtrl::GetHotCursor |
Lekéri a listanézet-vezérlők gyakori követés engedélyezésekor használt kurzort. |
CListCtrl::GetHotItem |
Lekéri a kurzor alatti listanézet elemet. |
CListCtrl::GetHoverTime |
Lekéri a listanézet vezérlőelem aktuális rámutatási idejét. |
CListCtrl::GetImageList |
Lekéri a rajzlista nézetelemeihez használt képlista leíróját. |
CListCtrl::GetInsertMark |
Lekéri a beszúrási jel aktuális pozícióját. |
CListCtrl::GetInsertMarkColor |
Lekéri a beszúrási jel aktuális színét. |
CListCtrl::GetInsertMarkRect |
Lekéri a beszúrási pontot határos téglalapot. |
CListCtrl::GetItem |
Lekéri egy listanézetelem attribútumait. |
CListCtrl::GetItemCount |
Lekéri a listanézet vezérlőelem elemeinek számát. |
CListCtrl::GetItemData |
Lekéri az elemhez társított alkalmazásspecifikus értéket. |
CListCtrl::GetItemIndexRect |
Lekéri a határolókeretet az aktuális listanézet-vezérlőben lévő részhalmaz egészére vagy egy részére vonatkozóan. |
CListCtrl::GetItemPosition |
Lekéri egy listanézetelem pozícióját. |
CListCtrl::GetItemRect |
Lekéri egy elem határolókeretét. |
CListCtrl::GetItemSpacing |
Kiszámítja az aktuális listanézet vezérlőelem elemei közötti térközt. |
CListCtrl::GetItemState |
Lekéri egy listanézetelem állapotát. |
CListCtrl::GetItemText |
Lekéri egy listanézetelem vagy alelem szövegét. |
CListCtrl::GetNextItem |
Adott tulajdonságokkal rendelkező és adott elemhez megadott kapcsolattal rendelkező listanézet-elemet keres. |
CListCtrl::GetNextItemIndex |
Lekéri az elem indexét az aktuális listanézet-vezérlőben, amely meghatározott tulajdonságokkal rendelkezik. |
CListCtrl::GetNextSelectedItem |
Lekéri egy listanézetelem pozíciójának indexét és a következő kijelölt listanézetelem pozícióját az iteráláshoz. |
CListCtrl::GetNumberOfWorkAreas |
Lekéri a listanézet-vezérlők munkaterületeinek aktuális számát. |
CListCtrl::GetOrigin |
Lekéri egy listanézet vezérlőelem aktuális nézetének forrását. |
CListCtrl::GetOutlineColor |
Lekéri a listanézet vezérlőelem szegélyének színét. |
CListCtrl::GetSelectedColumn |
Lekéri az aktuálisan kijelölt oszlop indexét a listavezérlőben. |
CListCtrl::GetSelectedCount |
Lekéri a listanézet vezérlőelem kijelölt elemeinek számát. |
CListCtrl::GetSelectionMark |
Lekéri egy listanézet vezérlőelem kijelölési jelét. |
CListCtrl::GetStringWidth |
Meghatározza az adott sztringek megjelenítéséhez szükséges minimális oszlopszélességű értéket. |
CListCtrl::GetSubItemRect |
Lekéri egy elem határolókeretét egy listanézet vezérlőelemben. |
CListCtrl::GetTextBkColor |
Lekéri a listanézet vezérlőelem szöveghátterének színét. |
CListCtrl::GetTextColor |
Lekéri a listanézet vezérlőelem szövegszínét. |
CListCtrl::GetTileInfo |
A listanézet vezérlőelem csempéivel kapcsolatos információk lekérése. |
CListCtrl::GetTileViewInfo |
Információ lekérése a listanézet vezérlőelemről csempe nézetben. |
CListCtrl::GetToolTips |
Lekéri azt az elemleírás-vezérlőt, amelyet a listanézet-vezérlő az elemleírások megjelenítéséhez használ. |
CListCtrl::GetTopIndex |
Lekéri a legfelső látható elem indexét. |
CListCtrl::GetView |
Lekéri a listanézet vezérlő nézetét. |
CListCtrl::GetViewRect |
Lekéri a listanézet vezérlőelem összes elemének határoló téglalapját. |
CListCtrl::GetWorkAreas |
Lekéri a listanézet vezérlőelem aktuális munkaterületeit. |
CListCtrl::HasGroup |
Meghatározza, hogy a listanézet vezérlőelem rendelkezik-e a megadott csoportokkal. |
CListCtrl::HitTest |
Meghatározza, hogy melyik listanézetelem van egy megadott helyen. |
CListCtrl::InsertColumn |
Új oszlop beszúrása listanézet-vezérlőbe. |
CListCtrl::InsertGroup |
Beszúr egy csoportot a listanézet vezérlőbe. |
CListCtrl::InsertGroupSorted |
A megadott csoportot beszúrja a csoportok rendezett listájába. |
CListCtrl::InsertItem |
Új elem beszúrása listanézet-vezérlőbe. |
CListCtrl::InsertMarkHitTest |
Lekéri a megadott ponthoz legközelebb eső beszúrási pontot. |
CListCtrl::IsGroupViewEnabled |
Meghatározza, hogy a csoportnézet engedélyezve van-e egy listanézet-vezérlőhöz. |
CListCtrl::IsItemVisible |
Azt jelzi, hogy az aktuális listanézet vezérlőelemben látható-e egy adott elem. |
CListCtrl::MapIDToIndex |
Az aktuális listanézet vezérlőelem egy elemének egyedi azonosítóját indexre képezi le. |
CListCtrl::MapIndexToID |
Az aktuális listanézet vezérlőelem egyik elemének indexét egy egyedi azonosítóra képezi le. |
CListCtrl::MoveGroup |
A megadott csoport áthelyezése. |
CListCtrl::MoveItemToGroup |
A megadott csoportot a listanézet vezérlőelem megadott nulla alapú indexére helyezi át. |
CListCtrl::RedrawItems |
Listanézet-vezérlő kényszerítése elemek egy tartományának újrafestésére. |
CListCtrl::RemoveAllGroups |
Eltávolítja az összes csoportot egy listanézet-vezérlőből. |
CListCtrl::RemoveGroup |
Eltávolítja a megadott csoportot a listanézet vezérlőből. |
CListCtrl::Scroll |
Görgeti a listanézet vezérlőelem tartalmát. |
CListCtrl::SetBkColor |
Beállítja a listanézet vezérlőelem háttérszínét. |
CListCtrl::SetBkImage |
Beállítja egy listanézet vezérlőjének aktuális háttérképét. |
CListCtrl::SetCallbackMask |
Beállítja a visszahívási maszkot egy listanézet-vezérlőhöz. |
CListCtrl::SetCheck |
Beállítja az elemhez társított állapotkép aktuális megjelenítési állapotát. |
CListCtrl::SetColumn |
Egy listanézet oszlop attribútumait állítja be. |
CListCtrl::SetColumnOrderArray |
Egy listanézet vezérlőelem oszlopsorrendjének beállítása (balról jobbra). |
CListCtrl::SetColumnWidth |
Módosítja egy oszlop szélességét jelentés- vagy listanézetben. |
CListCtrl::SetExtendedStyle |
A listanézet vezérlőelem aktuális kiterjesztett stílusait állítja be. |
CListCtrl::SetGroupInfo |
Beállítja a listanézet vezérlőelem megadott csoportjának adatait. |
CListCtrl::SetGroupMetrics |
Egy listanézet vezérlőelem csoportmetrikáit állítja be. |
CListCtrl::SetHotCursor |
Beállítja a kurzort, amikor a gyorskövetés engedélyezve van egy listanézet-vezérlőhöz. |
CListCtrl::SetHotItem |
A listanézet vezérlőelem aktuális gyakori elemet állítja be. |
CListCtrl::SetHoverTime |
A listanézet vezérlőelem aktuális rámutatási idejét állítja be. |
CListCtrl::SetIconSpacing |
A listanézet vezérlőelem ikonjai közötti térközt állítja be. |
CListCtrl::SetImageList |
Képlistát rendel egy listanézet-vezérlőhöz. |
CListCtrl::SetInfoTip |
Beállítja az elemleírás szövegét. |
CListCtrl::SetInsertMark |
A beszúrási pontot a megadott pozícióra állítja. |
CListCtrl::SetInsertMarkColor |
Beállítja a beszúrási pont színét. |
CListCtrl::SetItem |
Egy listanézet-elem attribútumainak egy részét vagy egészét állítja be. |
CListCtrl::SetItemCount |
Listanézet-vezérlő előkészítése nagy számú elem hozzáadásához. |
CListCtrl::SetItemCountEx |
Beállítja egy virtuális listanézet vezérlőelem elemszámát. |
CListCtrl::SetItemData |
Beállítja az elem alkalmazásspecifikus értékét. |
CListCtrl::SetItemIndexState |
Egy elem állapotát állítja be az aktuális listanézet-vezérlőben. |
CListCtrl::SetItemPosition |
Elem áthelyezése egy listanézet vezérlőelem megadott helyére. |
CListCtrl::SetItemState |
Egy listanézet vezérlőelem egy elemének állapotát módosítja. |
CListCtrl::SetItemText |
Listanézet elemének vagy alelemének szövegét módosítja. |
CListCtrl::SetOutlineColor |
A listanézet vezérlőelem szegélyének színét állítja be. |
CListCtrl::SetSelectedColumn |
A listanézet vezérlőelem kijelölt oszlopának beállítása. |
CListCtrl::SetSelectionMark |
Egy listanézet vezérlőelem kijelölési jelének beállítása. |
CListCtrl::SetTextBkColor |
Beállítja a szöveg háttérszínét egy listanézet vezérlőelemben. |
CListCtrl::SetTextColor |
A listanézet vezérlőelem szövegszínét állítja be. |
CListCtrl::SetTileInfo |
Beállítja a listanézet-vezérlő csempéjének adatait. |
CListCtrl::SetTileViewInfo |
Beállítja azokat az információkat, amelyeket egy listanézet-vezérlő használ csempenézetben. |
CListCtrl::SetToolTips |
Beállítja azt az elemleírás-vezérlőt, amelyet a listanézet vezérlője használ az elemleírások megjelenítéséhez. |
CListCtrl::SetView |
Beállítja a listanézet vezérlőelem nézetét. |
CListCtrl::SetWorkAreas |
Beállítja azt a területet, ahol az ikonok megjeleníthetők a listanézet vezérlőjében. |
CListCtrl::SortGroups |
Egy listanézet-vezérlő csoportjait egy felhasználó által definiált függvénnyel rendezi. |
CListCtrl::SortItems |
Listanézet-elemek rendezése alkalmazás által definiált összehasonlító függvény használatával. |
CListCtrl::SortItemsEx |
Listanézet-elemek rendezése alkalmazás által definiált összehasonlító függvény használatával. |
CListCtrl::SubItemHitTest |
Meghatározza, hogy melyik listanézetelem (ha van ilyen) adott pozícióban van. |
CListCtrl::Update |
Kényszeríti a vezérlőt egy adott elem újrafestésére. |
Megjegyzések
Az ikonok és címkék mellett minden elemnél megjelenhetnek az ikontól és a felirattól jobbra lévő oszlopokban lévő információk. Ez a vezérlő (és így az CListCtrl osztály) csak a Windows 95/98 és a Windows NT 3.51-es és újabb verzióiban futó programokhoz érhető el.
Az alábbiakban röviden áttekintheti az osztályt CListCtrl . Részletes, fogalmi vitafórumért lásd a Használat CListCtrl és a Vezérlők című témakört.
Views
A listanézet-vezérlők négy különböző módon, úgynevezett "nézetekben" jeleníthetik meg a tartalmukat.
Ikonnézet
Minden elem teljes méretű ikonként (32 x 32 képpont) jelenik meg, alatta felirattal. A felhasználó a listanézet ablakának bármely pontjára húzhatja az elemeket.
Kis ikon nézet
Minden elem egy kis ikonként (16 x 16 képpont) jelenik meg, amelynek jobb oldalán a felirat látható. A felhasználó a listanézet ablakának bármely pontjára húzhatja az elemeket.
Lista nézet
Minden elem egy kis ikonként jelenik meg, amelynek jobb oldalán egy felirat látható. Az elemek oszlopokba vannak rendezve, és nem húzhatók a listanézet ablakának egyik helyére sem.
Jelentés nézet
Minden elem a saját sorában jelenik meg, a jobb oldali oszlopokba rendezve további információkat. A bal szélső oszlop tartalmazza a kis ikont és a címkét, az azt követő oszlopok pedig az alkalmazás által megadott alelemeket. Egy beágyazott fejlécvezérlő (osztály
CHeaderCtrl) implementálja ezeket az oszlopokat. Az élőfej vezérlőelemről és a jelentésnézetben lévő oszlopokról a KövetkezőCListCtrlhasználata: Oszlopok hozzáadása a vezérlőelemhez (Jelentésnézet) című témakörben talál további információt.
A vezérlő aktuális listanézetének stílusa határozza meg az aktuális nézetet. Ezekről a stílusokról és azok használatáról további információt a Listavezérlő CListCtrlstílusok módosítása című témakörben talál.
Bővített stílusok
A szabványos listastílusok mellett az osztály CListCtrl számos bővített stílust is támogat, amelyek gazdagított funkciókat biztosítanak. Néhány példa erre a funkcióra:
Rámutatás kijelölése
Ha engedélyezve van, lehetővé teszi egy elem automatikus kijelölését, ha a kurzor egy bizonyos ideig az elem felett marad.
Virtuális listanézetek
Ha engedélyezve van, a vezérlő legfeljebb DWORD-elemeket támogat. Ez az elemadatok alkalmazáson való kezelésének többletterhelésével lehetséges. Az elemkijelölés és a fókuszinformációk kivételével minden eleminformációt az alkalmazásnak kell kezelnie. További információ: A virtuális lista vezérlőinek használata
CListCtrl.Egy- és kétkattintásos aktiválás
Ha engedélyezve van, engedélyezi a gyakori elérésű nyomkövetést (az elem szövegének automatikus kiemelését), és egy vagy két kattintással aktiválhatja a kiemelt elemet.
Oszlopsorrendezés húzása
Ha engedélyezve van, lehetővé teszi az oszlopok húzással történő átrendezését egy listanézet-vezérlőben. Csak jelentés nézetben érhető el.
Az új kiterjesztett stílusok használatáról további információt a Listavezérlő CListCtrlstílusok módosítása című témakörben talál.
Elemek és alelemek
A listanézet vezérlőelem minden eleme egy ikonból (képlistából), egy címkéből, egy aktuális állapotból és egy alkalmazás által definiált értékből (más néven "elemadatokból") áll. Az egyes elemekhez egy vagy több részhalmaz is társítható. A "részhalmaz" egy sztring, amely jelentésnézetben az elem ikonjának és címkéjének jobb oldalán lévő oszlopban jeleníthető meg. A listanézet vezérlőelem minden elemének azonos számú részhalmazsal kell rendelkeznie.
Az osztály CListCtrl számos függvényt biztosít az elemek beszúrásához, törléséhez, kereséséhez és módosításához. További információ: CListCtrl::GetItemCListCtrl::InsertItemCListCtrl::FindItemelemek hozzáadása a vezérlőhöz, görgetés, rendezés, rendezés és keresés a listavezérlőkben.
Alapértelmezés szerint a listanézet vezérlője felelős az elem ikon- és szövegattribútumainak tárolásáért. Az ilyen elemtípusok mellett azonban az osztály CListCtrl támogatja a "visszahívási elemeket". A "visszahívási elem" egy listanézetelem, amelynek szövegét, ikonát vagy mindkettőt az alkalmazás – a vezérlőelem helyett – tárolja. A visszahívási maszk segítségével megadhatja, hogy az alkalmazás mely elemattribútumokat (szöveget és/vagy ikont) adja meg. Ha egy alkalmazás visszahívási elemeket használ, igény szerint képesnek kell lennie a szöveg- és/vagy ikonattribútumok megadására. A visszahívási elemek akkor hasznosak, ha az alkalmazás már fenntart néhány ilyen információt. További információ: A visszahívási elemek és a visszahívási maszk használataCListCtrl.
Képlisták
A listanézetelemek ikonjai, fejlécelem-rendszerképei és alkalmazás által meghatározott állapotai számos (osztály CImageListáltal implementált) képlistában találhatók, amelyeket ön hoz létre és rendel hozzá a listanézet-vezérlőhöz. Minden listanézet-vezérlő legfeljebb négy különböző típusú képlistával rendelkezhet:
Nagy ikon
A teljes méretű ikonok ikonnézetben használhatók.
Kis ikon
A kis ikonok, lista- és jelentésnézetek az ikonnézetben használt ikonok kisebb verzióihoz használhatók.
Alkalmazás által definiált állapot
Állapotképeket tartalmaz, amelyek egy elem ikonja mellett jelennek meg az alkalmazás által meghatározott állapot jelzésére.
Fejlécelem
A jelentésnézetben az egyes fejlécvezérlőelemekben megjelenő kis képekhez használható.
A listanézet-vezérlő alapértelmezés szerint megsemmisíti a hozzá rendelt képlistákat, ha az megsemmisül; A fejlesztő azonban testre szabhatja ezt a viselkedést úgy, hogy az alkalmazás által meghatározott módon megsemmisíti az egyes képlistákat, ha már nincs használatban. További információ: A listaelemek és a képlisták használataCListCtrl.
Öröklési hierarchia
CListCtrl
Requirements
Fejléc:afxcmn.h
CListCtrl::ApproximateViewRect
Meghatározza a listanézet vezérlőelem elemeinek megjelenítéséhez szükséges szélességet és magasságot.
CSize ApproximateViewRect(
CSize sz = CSize(-1, -1),
int iCount = -1) const;
Paraméterek
sz
A vezérlő tervezett méretei képpontban. Ha nincsenek megadva méretek, a keretrendszer a vezérlőelem aktuális szélességi vagy magassági értékeit használja.
iCount
A vezérlőelemben megjelenítendő elemek száma. Adja meg -1 a vezérlőelemben jelenleg szereplő elemek teljes számának használatához.
Visszaadott érték
Az CSize elemek képpontban való megjelenítéséhez szükséges hozzávetőleges szélességet és magasságot tartalmazó objektum.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_ApproximateViewRectWindows SDK-ban leírtak szerint.
CListCtrl::Arrange
Áthelyezi az elemeket egy ikonnézetben, hogy azok rácsra legyenek igazítva.
BOOL Arrange(UINT nCode);
Paraméterek
nCode
Megadja az elemek igazítási stílusát. A következő értékek egyike lehet:
-
LVA_ALIGNLEFTAz elemeket az ablak bal széle mentén igazítja. -
LVA_ALIGNTOPAz elemeket az ablak felső széle mentén igazítja. -
LVA_DEFAULTA listanézet aktuális igazítási stílusainak (az alapértelmezett értéknek) megfelelően igazítja az elemeket. -
LVA_SNAPTOGRIDAz összes ikont a legközelebbi rácspozícióhoz illeszti.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
A nCode paraméter az igazítási stílust adja meg.
Example
// Align all of the list view control items along the top
// of the window (the list view control must be in icon or
// small icon mode).
m_myListCtrl.Arrange(LVA_ALIGNTOP);
CListCtrl::CancelEditLabel
Megszakítja az elem szövegszerkesztési műveletét.
void CancelEditLabel();
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_CANCELEDITLABEL üzenet funkcióit.
CListCtrl::CListCtrl
Egy CListCtrl objektumot hoz létre.
CListCtrl();
CListCtrl::Create
Létrehoz egy listavezérlőt, és csatolja egy CListCtrl objektumhoz.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Paraméterek
dwStyle
Megadja a listavezérlő stílusát. Listavezérlő-stílusok bármilyen kombinációját alkalmazhatja a vezérlőre. A stílusok teljes listáját a Windows SDK Listanézet ablakstílusai között találja. A vezérlőelemre jellemző kiterjesztett stílusok beállítása a következővel SetExtendedStyle: .
rect
Megadja a listavezérlő méretét és pozícióját.
CRect Lehet objektum vagy RECT struktúra.
pParentWnd
A listavezérlő szülőablakát adja meg, általában egy CDialog. Nem lehet NULL.
nID
Megadja a listavezérlő azonosítóját.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
Két lépésben hozhat létre egy CListCtrl elemet. Először hívja meg a konstruktort, majd hívja meg Create, amely létrehozza a listanézet vezérlőt, és csatolja az CListCtrl objektumhoz.
Ha kiterjesztett Windows-stílusokat szeretne alkalmazni a listavezérlő objektumra, hívja meg ahelyettCreate, hogy .CreateEx
Example
m_myListCtrl.Create(
WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS,
CRect(10,10,400,200), pParentWnd, IDD_MYLISTCTRL);
CListCtrl::CreateEx
Létrehoz egy vezérlőt (egy gyermekablakot), és társítja azt az CListCtrl objektummal.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Paraméterek
dwExStyle
A létrehozott vezérlőelem kiterjesztett stílusát adja meg. A bővített Windows-stílusok listáját a Windows SDK dwExStyle paraméterében CreateWindowEx találja.
dwStyle
Megadja a listavezérlő stílusát. Listavezérlő-stílusok bármilyen kombinációját alkalmazhatja a vezérlőre. A stílusok teljes listáját a Windows SDK Listanézet ablakstílusai című témakörben találja.
rect
Hivatkozás a RECT létrehozandó ablak méretét és pozícióját leíró struktúrára a következő ügyfélkoordinátáiban pParentWnd: .
pParentWnd
A vezérlő szülőablakára mutató mutató.
nID
A vezérlő gyermekablak-azonosítója.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
Create A CreateEx bővített Windows-stílusok helyett használja a Windows bővített stílus előszavában WS_EX_megadott stílusokat.
CreateEx a vezérlőt a megadott kiterjesztett Windows-stílusokkal dwExStylehozza létre. A vezérlőelemre jellemző kiterjesztett stílusok beállításához hívja meg a következőt SetExtendedStyle: Például CreateEx az WS_EX_CONTEXTHELP stílusok beállítására használható, de olyan stílusok beállítására, SetExtendedStyle mint a LVS_EX_FULLROWSELECT. További információkért tekintse meg a Windows SDK Bővített listanézet stílusai című cikkben ismertetett stílusokat.
CListCtrl::CreateDragImage
Létrehoz egy húzási képlistát a megadott nItemelemhez.
CImageList* CreateDragImage(
int nItem,
LPPOINT lpPoint);
Paraméterek
nItem
Annak az elemnek az indexe, amelynek húzási képlistáját létre kell hozni.
lpPoint
A POINT kép bal felső sarkának kezdeti helyét fogadó struktúra címe a koordináták megtekintésekor.
Visszaadott érték
Ha sikeres, mutató a húzási képlistára; egyéb esetben NULL.
Megjegyzések
Az CImageList objektum végleges, és ha elkészült, törölnie kell. Például:
CImageList* pImageList = m_myListCtrl.CreateDragImage(nItem, &point);
// do something
delete pImageList;
CListCtrl::DeleteAllItems
Törli az összes elemet a listanézet vezérlőből.
BOOL DeleteAllItems();
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Example
// Delete all of the items from the list view control.
m_myListCtrl.DeleteAllItems();
ASSERT(m_myListCtrl.GetItemCount() == 0);
CListCtrl::DeleteColumn
Oszlop törlése a listanézet vezérlőelemből.
BOOL DeleteColumn(int nCol);
Paraméterek
nCol
A törölni kívánt oszlop indexe.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Example
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();
// Delete all of the columns.
for (int i=0; i < nColumnCount; i++)
{
m_myListCtrl.DeleteColumn(0);
}
CListCtrl::DeleteItem
Elem törlése listanézet-vezérlőből.
BOOL DeleteItem(int nItem);
Paraméterek
nItem
Megadja a törölni kívánt elem indexét.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Example
int nCount = m_myListCtrl.GetItemCount();
// Delete all of the items from the list view control.
for (int i=0; i < nCount; i++)
{
m_myListCtrl.DeleteItem(0);
}
CListCtrl::DrawItem
A keretrendszer meghívja, amikor egy tulajdonos-rajz listanézet vizuális aspektusa megváltozik.
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
Paraméterek
lpDrawItemStruct
Hosszú mutató egy DRAWITEMSTRUCT olyan struktúrára, amely a szükséges rajztípussal kapcsolatos információkat tartalmazza.
Megjegyzések
A itemAction struktúra tagja DRAWITEMSTRUCT határozza meg a végrehajtandó rajzműveletet.
Alapértelmezés szerint ez a tagfüggvény nem tesz semmit. A tagfüggvény felülbírálása egy tulajdonosi rajzobjektum CListCtrl rajzának implementálásához.
Az alkalmazásnak vissza kell állítania az összes grafikus eszközillesztő (GDI) objektumot, amely a tagfüggvény leállása előtt megadott megjelenítési környezethez lpDrawItemStruct van kiválasztva.
CListCtrl::EditLabel
Megkezdi az elem szövegének helyben történő szerkesztését.
CEdit* EditLabel(int nItem);
Paraméterek
nItem
A szerkeszteni kívánt listanézetelem indexe.
Visszaadott érték
Ha sikeres, az elem szövegének szerkesztéséhez használt objektumra mutató mutató CEdit ; ellenkező esetben NULL.
Megjegyzések
Az ablakstílust LVS_EDITLABELS tartalmazó listanézet-vezérlő lehetővé teszi, hogy a felhasználó szerkessze az elemfeliratokat a helyén. A felhasználó elkezdi a szerkesztést, ha a fókuszt tartalmazó elem címkéére kattint.
Ezzel a függvénnyel megkezdheti a megadott listanézetelem szövegének helyben történő szerkesztését.
Example
// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();
// Show the edit control on the label of the first
// item in the list view control.
CEdit* pmyEdit = m_myListCtrl.EditLabel(1);
ASSERT(pmyEdit != NULL);
CListCtrl::EnableGroupView
Engedélyezi vagy letiltja, hogy a listanézet vezérlőelem elemei csoportként jelenjenek-e meg.
LRESULT EnableGroupView(BOOL fEnable);
Paraméterek
fEnable
Azt jelzi, hogy engedélyezi-e a listanézet-vezérlők számára a megjelenített elemek csoportosítását.
TRUE a csoportosítás engedélyezéséhez; FALSE tiltsa le.
Visszaadott érték
Az alábbi értékek egyikét adja vissza:
- 0 A listanézetelemek csoportként való megjelenítésének lehetősége már engedélyezve van vagy le van tiltva.
- 1 A vezérlő állapota sikeresen módosult.
- -1 A művelet nem sikerült.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_ENABLEGROUPVIEW üzenet funkcióit.
CListCtrl::EnsureVisible
Biztosítja, hogy egy listanézetelem legalább részben látható legyen.
BOOL EnsureVisible(
int nItem,
BOOL bPartialOK);
Paraméterek
nItem
A látható listanézetelem indexe.
bPartialOK
Meghatározza, hogy a részleges láthatóság elfogadható-e.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
A listanézet vezérlő szükség esetén görgetve lesz. Ha a bPartialOK paraméter nem érhető el, nem történik görgetés, ha az elem részben látható.
Example
// Ensure that the last item is visible.
int nCount = m_myListCtrl.GetItemCount();
if (nCount > 0)
m_myListCtrl.EnsureVisible(nCount-1, FALSE);
CListCtrl::FindItem
Megadott jellemzőkkel rendelkező listanézet-elemet keres.
int FindItem(
LVFINDINFO* pFindInfo,
int nStart = -1) const;
Paraméterek
pFindInfo
Mutató egy LVFINDINFO olyan struktúrára, amely a keresendő elemre vonatkozó információkat tartalmazza.
nStart
A keresés megkezdéséhez használt elem indexe, vagy -1 az elejétől kezdve. Az elem nStart nem szerepel a keresésben, ha nStart nem egyenlő -1-sel.
Visszaadott érték
Az elem indexe, ha sikeres vagy -1.
Megjegyzések
A pFindInfo paraméter egy LVFINDINFO struktúrára mutat, amely listanézetelem kereséséhez használt információkat tartalmaz.
Example
LVFINDINFO info;
int nIndex;
info.flags = LVFI_PARTIAL|LVFI_STRING;
info.psz = _T("item");
// Delete all of the items that begin with the string.
while ((nIndex = m_myListCtrl.FindItem(&info)) != -1)
{
m_myListCtrl.DeleteItem(nIndex);
}
CListCtrl::GetBkColor
Lekéri a listanézet vezérlőelem háttérszínét.
COLORREF GetBkColor() const;
Visszaadott érték
RGB-szín megadásához használt 32 bites érték.
Example
Lásd a példát a CListCtrl::SetBkColor.
CListCtrl::GetBkImage
Lekéri egy listanézet vezérlőelem aktuális háttérképét.
BOOL GetBkImage(LVBKIMAGE* plvbkImage) const;
Paraméterek
plvbkImage
A listanézet aktuális háttérképét tartalmazó struktúra mutatója LVBKIMAGE .
Visszaadott érték
Sikertelen értéket ad vissza, ha sikeres, vagy ellenkező esetben nulla értéket ad vissza.
Megjegyzések
Ez a metódus implementálja a Win32 makró viselkedését a ListView_GetBkImageWindows SDK-ban leírtak szerint.
Example
LVBKIMAGE bki;
// If no background image is set for the list view control use
// the Microsoft homepage image as the background image.
if (m_myListCtrl.GetBkImage(&bki) && (bki.ulFlags == LVBKIF_SOURCE_NONE))
{
m_myListCtrl.SetBkImage(
_T("https://www.microsoft.com/library/images/gifs/homepage/microsoft.gif"),
TRUE);
}
CListCtrl::GetCallbackMask
Lekéri a visszahívási maszkot egy listanézet-vezérlőhöz.
UINT GetCallbackMask() const;
Visszaadott érték
A listanézet-vezérlő visszahívási maszkja.
Megjegyzések
A "visszahívási elem" egy listanézetelem, amelynek szövegét, ikonát vagy mindkettőt az alkalmazás – a vezérlőelem helyett – tárolja. Bár a listanézet-vezérlők tárolhatják ezeket az attribútumokat, érdemes lehet visszahívási elemeket használni, ha az alkalmazás már fenntart néhány ilyen információt. A visszahívási maszk megadja, hogy az alkalmazás mely elemállapot-biteket tartja karban, és az adott elem helyett a teljes vezérlőre vonatkozik. A visszahívási maszk alapértelmezés szerint nulla, ami azt jelenti, hogy a vezérlő nyomon követi az összes elemállapotot. Ha egy alkalmazás visszahívási elemeket használ, vagy nemzero visszahívási maszkot ad meg, akkor igény szerint képesnek kell lennie a listanézet elemattribútumainak megadására.
Example
Lásd a példát a CListCtrl::SetCallbackMask.
CListCtrl::GetCheck
Lekéri az elemhez társított állapotkép aktuális megjelenítési állapotát.
BOOL GetCheck(int nItem) const;
Paraméterek
nItem
Listavezérlő elem nulla alapú indexe.
Visszaadott érték
Ha az elem ki van jelölve, akkor nem 0.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_GetCheckStateWindows SDK-ban leírtak szerint.
Example
Lásd a példát a CListCtrl::SetCheck.
CListCtrl::GetColumn
Lekéri a listanézet-vezérlő oszlopának attribútumait.
BOOL GetColumn(
int nCol,
LVCOLUMN* pColumn) const;
Paraméterek
nCol
Annak az oszlopnak az indexe, amelynek attribútumait le kell kérni.
pColumn
Egy LVCOLUMN olyan struktúra címe, amely megadja az oszlopra vonatkozó információkat, és megkapja az adatokat. A mask tag megadja, hogy mely oszlopattribútumokat szeretné lekérni. Ha a mask tag megadja a LVCF_TEXT értéket, a pszText tagnak tartalmaznia kell annak a puffernek a címét, amely megkapja az elem szövegét, és a cchTextMax tagnak meg kell adnia a puffer méretét.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
A LVCOLUMN struktúra a jelentés nézetben lévő oszlopokkal kapcsolatos információkat tartalmaz.
Example
LVCOLUMN col;
col.mask = LVCF_WIDTH;
// Double the column width of the first column.
if (m_myListCtrl.GetColumn(0, &col))
{
col.cx *= 2;
m_myListCtrl.SetColumn(0, &col);
}
CListCtrl::GetColumnOrderArray
Egy listanézet vezérlőelem oszlopsorrendjének lekérése (balról jobbra).
BOOL GetColumnOrderArray(
LPINT piArray,
int iCount = -1);
Paraméterek
piArray
Egy pufferre mutató mutató, amely a listanézet vezérlőelem oszlopainak indexértékét tartalmazza. A puffernek elég nagynak kell lennie ahhoz, hogy a listanézet vezérlőelem oszlopainak teljes számát tartalmazza.
iCount
A listanézet vezérlőelem oszlopainak száma. Ha ez a paraméter -1, a keretrendszer automatikusan lekéri az oszlopok számát.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_GetColumnOrderArrayWindows SDK-ban leírtak szerint.
Example
// Reverse the order of the columns in the list view control
// (i.e. make the first column the last, the last column
// the first, and so on...).
CHeaderCtrl* pHeaderCtrl = m_myListCtrl.GetHeaderCtrl();
if (pHeaderCtrl != NULL)
{
int nColumnCount = pHeaderCtrl->GetItemCount();
LPINT pnOrder = (LPINT) malloc(nColumnCount*sizeof(int));
ASSERT(pnOrder != NULL);
m_myListCtrl.GetColumnOrderArray(pnOrder, nColumnCount);
int i, j, nTemp;
for (i = 0, j = nColumnCount-1; i < j; i++, j--)
{
nTemp = pnOrder[i];
pnOrder[i] = pnOrder[j];
pnOrder[j] = nTemp;
}
m_myListCtrl.SetColumnOrderArray(nColumnCount, pnOrder);
free(pnOrder);
}
CListCtrl::GetColumnWidth
Beolvassa egy oszlop szélességét jelentés- vagy listanézetben.
int GetColumnWidth(int nCol) const;
Paraméterek
nCol
Annak az oszlopnak az indexét adja meg, amelynek szélességét le kell kérni.
Visszaadott érték
A megadott oszlop szélessége képpontban kifejezve nCol.
Example
// Increase the column width of the second column by 20.
int nWidth = m_myListCtrl.GetColumnWidth(1);
m_myListCtrl.SetColumnWidth(1, 20 + nWidth);
CListCtrl::GetCountPerPage
Kiszámítja azoknak az elemeknek a számát, amelyek függőlegesen elférnek a listanézet vezérlőelem látható területén listanézetben vagy jelentésnézetben.
int GetCountPerPage() const;
Visszaadott érték
A listanézet vezérlőelem látható területén függőlegesen elférő elemek száma listanézetben vagy jelentésnézetben.
Example
Lásd a példát a CListCtrl::GetTopIndex.
CListCtrl::GetEditControl
Lekéri a listanézetelem szövegének szerkesztéséhez használt szerkesztési vezérlő leíróját.
CEdit* GetEditControl() const;
Visszaadott érték
Ha sikeres, az elem szövegének szerkesztéséhez használt objektumra mutató mutató CEdit ; ellenkező esetben NULL.
Example
// The string replacing the text in the edit control.
LPCTSTR lpszmyString = _T("custom label!");
// If possible, replace the text in the label edit control.
CEdit* pEdit = m_myListCtrl.GetEditControl();
if (pEdit != NULL)
{
pEdit->SetWindowText(lpszmyString);
}
CListCtrl::GetEmptyText
Lekéri a sztringet, hogy megjelenjen, ha az aktuális listanézet-vezérlő üres.
CString GetEmptyText() const;
Visszaadott érték
A CString vezérlőelem üres vezérlőeleme esetén megjelenítendő szöveget tartalmazó szöveg.
Megjegyzések
Ez a metódus elküldi a LVM_GETEMPTYTEXT Windows SDK-ban leírt üzenetet.
CListCtrl::GetExtendedStyle
Lekéri egy listanézet vezérlőelem aktuális kiterjesztett stílusait.
DWORD GetExtendedStyle();
Visszaadott érték
A listanézet vezérlőelem által jelenleg használt kiterjesztett stílusok kombinációja. A bővített stílusok leíró listáját a Windows SDK Bővített listanézetstílusok című cikkében találja.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_GetExtendedListViewStyleWindows SDK-ban leírtak szerint.
Example
Lásd a példát a CListCtrl::SetExtendedStyle.
CListCtrl::GetFirstSelectedItemPosition
Lekéri az első kijelölt elem helyét a listanézet vezérlőelemben.
POSITION GetFirstSelectedItemPosition() const;
Visszaadott érték
Iterációhoz POSITION vagy objektummutató lekéréséhez használható érték, NULL ha nincs kijelölve elem.
Example
Az alábbi kódminta a függvény használatát mutatja be.
POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
TRACE(_T("No items were selected!\n"));
}
else
{
while (pos)
{
int nItem = m_myListCtrl.GetNextSelectedItem(pos);
TRACE(_T("Item %d was selected!\n"), nItem);
// you could do your own processing on nItem here
}
}
CListCtrl::GetFocusedGroup
Lekéri azt a csoportot, amelynek a billentyűzetfókusza az aktuális listanézet-vezérlőben van.
int GetFocusedGroup() const;
Visszaadott érték
Annak a csoportnak az indexe, amelynek az állapota LVGS_FOCUSED– ha van ilyen csoport – egyébként -1.
Megjegyzések
Ez a metódus elküldi a LVM_GETFOCUSEDGROUP Windows SDK-ban leírt üzenetet. További információkért tekintse meg a LVGS_FOCUSED struktúra tagjának LVGROUP értékétstate.
CListCtrl::GetGroupCount
Lekéri az aktuális listanézet vezérlőelem csoportjainak számát.
int GetGroupCount()const;
Visszaadott érték
A listanézet vezérlőelem csoportjainak száma.
Megjegyzések
Ez a metódus elküldi az LVM_GETGROUPCOUNT üzenetet, amely a Windows SDK-ban található .>
CListCtrl::GetGroupInfo
Lekéri a listanézet vezérlőelem egy adott csoportjának adatait.
int GetGroupInfo(
int iGroupId,
PLVGROUP pgrp) const;
Paraméterek
iGroupId
Annak a csoportnak az azonosítója, amelynek adatait le kell kérni.
pgrp
Mutató a LVGROUP megadott csoport információira.
Visszaadott érték
A csoport azonosítóját adja vissza, ha sikeres, vagy ha más -1.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_GETGROUPINFO üzenet funkcióit.
CListCtrl::GetGroupInfoByIndex
Az aktuális listanézet vezérlőelemben egy adott csoport adatait kéri le.
BOOL GetGroupInfoByIndex(
int iIndex,
PLVGROUP pGroup) const;
Paraméterek
iIndex
[in] Csoport nulla alapú indexe.
pGroup
[kifelé] Mutasson egy LVGROUP-struktúrára , amely az iIndex paraméter által megadott csoportra vonatkozó információkat fogad. A hívó felelős az LVGROUP-struktúra tagjainak inicializálásáért. Állítsa be a cbSize tagot a struktúra méretére, a tag jelzőire pedig mask a lekérendő információk megadásához.
Visszaadott érték
TRUEha ez a módszer sikeres; egyéb esetben. FALSE
Megjegyzések
Ez a metódus elküldi az LVM_GETGROUPINFOBYINDEX üzenetet, amely a Windows SDK-ban található .>
Example
Az első példakód egy változót határoz meg, m_listCtrlamely az aktuális listanézet-vezérlő elérésére szolgál. Ezt a változót a következő példában használjuk.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
A következő példakód a metódust GetGroupInfoByIndex mutatja be. A kód példájának egy korábbi szakaszában létrehoztunk egy listanézet-vezérlőt, amely jelentésnézetben két oszlopot jelenít meg "ClientID" és "Grade" (Ügyfélazonosító) és "Grade" (Osztályzat) címmel. Az alábbi példakód beolvassa annak a csoportnak az adatait, amelynek indexe 0, ha létezik ilyen csoport.
// GetGroupInfoByIndex
const int GROUP_HEADER_BUFFER_SIZE = 40;
// Initialize the structure
LVGROUP gInfo = {0};
gInfo.cbSize = sizeof(LVGROUP);
wchar_t wstrHeadGet[GROUP_HEADER_BUFFER_SIZE] = {0};
gInfo.cchHeader = GROUP_HEADER_BUFFER_SIZE;
gInfo.pszHeader = wstrHeadGet;
gInfo.mask = (LVGF_ALIGN | LVGF_STATE | LVGF_HEADER | LVGF_GROUPID);
gInfo.state = LVGS_NORMAL;
gInfo.uAlign = LVGA_HEADER_LEFT;
BOOL bRet = m_listCtrl.GetGroupInfoByIndex( 0, &gInfo );
if (bRet == TRUE) {
CString strHeader = CString( gInfo.pszHeader );
CString str;
str.Format(_T("Header: '%s'"), strHeader);
AfxMessageBox(str, MB_ICONINFORMATION);
}
else
{
AfxMessageBox(_T("No group information was retrieved."));
}
CListCtrl::GetGroupMetrics
Egy csoport metrikáit kéri le.
void GetGroupMetrics(PLVGROUPMETRICS pGroupMetrics) const;
Paraméterek
pGroupMetrics
A csoportmetrikák adatait tartalmazó mutató LVGROUPMETRICS .
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_GETGROUPMETRICS üzenet funkcióit.
CListCtrl::GetGroupRect
Lekéri egy adott csoport határolókeretét az aktuális listanézet-vezérlőben.
BOOL GetGroupRect(
int iGroupId,
LPRECT lpRect,
int iCoords = LVGGR_GROUP) const;
Paraméterek
iGroupId
[in] Egy csoportot határoz meg.
lpRect
[be, ki] Mutató egy struktúrára RECT . Ha ez a módszer sikeres, a struktúra megkapja a csoport által megadott iGroupIdtéglalap koordinátáit.
iCoords
[in] Megadja a lekérni kívánt téglalap koordinátáit. Használja az alábbi értékek egyikét:
-
LVGGR_GROUP- (Alapértelmezett) A teljes kibontott csoport koordinátái. -
LVGGR_HEADER- Csak a fejléc (összecsukott csoport) koordinátái. -
LVGGR_SUBSETLINK- Csak az alhalmazhivatkozás (korrektúra-részhalmaz) koordinátái.
Visszaadott érték
TRUEha ez a módszer sikeres; egyéb esetben. FALSE
Megjegyzések
A hívó felelős a paraméter által mutatott struktúra kiosztásáért RECTpRect .
Ez a metódus elküldi a LVM_GETGROUPRECT Windows SDK-ban leírt üzenetet.
Example
Az első példakód egy változót határoz meg, m_listCtrlamely az aktuális listanézet-vezérlő elérésére szolgál. Ezt a változót a következő példában használjuk.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
A következő példakód a metódust GetGroupRect mutatja be. A kód példájának egy korábbi szakaszában létrehoztunk egy listanézet-vezérlőt, amely jelentésnézetben két oszlopot jelenít meg "ClientID" és "Grade" (Ügyfélazonosító) és "Grade" (Osztályzat) címmel. Az alábbi példakód egy 3D téglalapot rajzol annak a csoportnak a köré, amelynek indexe 0, ha létezik ilyen csoport.
// GetGroupRect
// Get the graphics rectangle that surrounds group 0.
CRect rect;
BOOL bRet = m_listCtrl.GetGroupRect( 0, &rect, LVGGR_GROUP);
// Draw a blue rectangle around group 0.
if (bRet == TRUE) {
m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(0, 0, 255), RGB(0, 0, 255));
}
else {
AfxMessageBox(_T("No group information was retrieved."), MB_ICONINFORMATION);
}
CListCtrl::GetGroupState
Egy adott csoport állapotát kéri le az aktuális listanézet-vezérlőben.
UINT GetGroupState(
int iGroupId,
DWORD dwMask) const;
Paraméterek
iGroupId
[in] Csoport nulla alapú indexe.
dwMask
[in] A megadott csoporthoz beolvasandó állapotértéket meghatározó maszk. További információkért lásd a mask struktúra tagját LVGROUP .
Visszaadott érték
A megadott csoport kért állapota, vagy 0, ha a csoport nem található.
Megjegyzések
A visszatérési érték egy bitenkénti AND művelet eredménye a dwMask paraméteren, valamint az state aktuális listanézet-vezérlőt képviselő struktúra tagjának LVGROUP értéke.
Ez a metódus elküldi a LVM_GETGROUPSTATE Windows SDK-ban leírt üzenetet. További információt a makróban ListView_GetGroupState talál.
CListCtrl::GetHeaderCtrl
Lekéri egy listanézet vezérlőelem fejléc vezérlőelemét.
CHeaderCtrl* GetHeaderCtrl();
Visszaadott érték
A listanézet vezérlőelem által használt fejlécvezérlőre mutató mutató.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_GetHeaderWindows SDK-ban leírtak szerint.
Example
Lásd a példát a CListCtrl::GetColumnOrderArray.
CListCtrl::GetHotCursor
Lekéri a listanézet-vezérlők gyakori követés engedélyezésekor használt kurzort.
HCURSOR GetHotCursor();
Visszaadott érték
A listanézet vezérlőelem által használt aktuális gyorsmutató-erőforrás fogópontja.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_GetHotCursorWindows SDK-ban leírtak szerint. A gyors kurzor, amely csak akkor látható, ha a rámutatás engedélyezve van, akkor jelenik meg, amikor a kurzor áthalad a listanézet bármely eleménél. A rámutatás a LVS_EX_TRACKSELECT bővített stílus beállításával engedélyezve van.
Example
// Set the hot cursor to be the system app starting cursor.
HCURSOR hCursor = ::LoadCursor(NULL, IDC_APPSTARTING);
m_myListCtrl.SetHotCursor(hCursor);
ASSERT(m_myListCtrl.GetHotCursor() == hCursor);
CListCtrl::GetHotItem
Lekéri a kurzor alatti listanézet elemet.
int GetHotItem();
Visszaadott érték
A listanézet vezérlőelem aktuális gyakori elemet tartalmazó indexe.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_GetHotItemWindows SDK-ban leírtak szerint. A gyakori elérésű elem az aktuálisan kijelölt elemként van definiálva, amikor engedélyezve van a gyakori követés (és a rámutatás kiválasztása).
Ha a gyakori követés engedélyezve van, amikor egy felhasználó egy listanézet-elem felett szünetel, a rendszer egérgomb használata nélkül automatikusan kiemeli az elemfeliratot.
Example
// Set the hot item to the first item only if no other item is
// highlighted.
if (m_myListCtrl.GetHotItem() == -1)
m_myListCtrl.SetHotItem(0);
CListCtrl::GetHoverTime
Lekéri a listanézet vezérlőelem aktuális rámutatási idejét.
DWORD GetHoverTime() const;
Visszaadott érték
Ezredmásodpercben visszaadja azt a késleltetést, amelyet az egérmutatónak a kijelölés előtt egy elem fölé kell rámutatnia. Ha a visszatérési érték -1, akkor a rámutatási idő az alapértelmezett rámutatási idő.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_GetHoverTimeWindows SDK-ban leírtak szerint.
Example
// If the hover time is the default set to 1 sec.
DWORD dwTime = m_myListCtrl.GetHoverTime();
if (dwTime == -1)
m_myListCtrl.SetHoverTime(1000);
CListCtrl::GetImageList
Lekéri a rajzlista nézetelemeihez használt képlista leíróját.
CImageList* GetImageList(int nImageList) const;
Paraméterek
nImageList
Érték, amely megadja, hogy melyik képlistát szeretné lekérni. A következő értékek egyike lehet:
-
LVSIL_NORMALKéplista nagy ikonokkal. -
LVSIL_SMALLKéplista kis ikonokkal. -
LVSIL_STATEÁllapotképeket tartalmazó képlista.
Visszaadott érték
A rajzlistanézet elemeihez használt képlistára mutató mutató.
Example
ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == NULL);
m_myListCtrl.SetImageList(&m_lcImageList, LVSIL_NORMAL);
ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == &m_lcImageList);
CListCtrl::GetInsertMark
Lekéri a beszúrási jel aktuális pozícióját.
BOOL GetInsertMark(LPLVINSERTMARK plvim) const;
Paraméterek
plvim
A beszúrási jel adatait tartalmazó struktúra mutatója LVINSERTMARK .
Visszaadott érték
TRUE Sikeres vagy FALSE más módon visszaadott értéket.
FALSEakkor lesz visszaadva, ha a szerkezet tagjának LVINSERTMARK mérete cbSize nem egyenlő a struktúra tényleges méretével.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_GETINSERTMARK üzenet funkcióit.
CListCtrl::GetInsertMarkColor
Lekéri a beszúrási jel aktuális színét.
COLORREF GetInsertMarkColor() const;
Visszaadott érték
COLORREF A beszúrási pont színét tartalmazó struktúrát ad vissza.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_GETINSERTMARKCOLOR üzenet funkcióit.
CListCtrl::GetInsertMarkRect
Lekéri a beszúrási pontot határos téglalapot.
int GetInsertMarkRect(LPRECT pRect) const;
Paraméterek
pRect
Mutasson egy RECT olyan struktúrára, amely a beszúrási pontot határos téglalap koordinátáit tartalmazza.
Visszaadott érték
Az alábbi értékek egyikét adja vissza:
- 0 Nem található beszúrási pont.
- 1 Beszúrási pont található.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_GETINSERTMARKRECT üzenet funkcióit.
CListCtrl::GetItem
Lekéri egy listanézetelem attribútumainak egy részét vagy egészét.
BOOL GetItem(LVITEM* pItem) const;
Paraméterek
pItem
Mutató az LVITEM elem attribútumait fogadó struktúrára.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
A LVITEM struktúra egy listanézetelem attribútumait adja meg vagy fogadja.
CListCtrl::GetItemCount
Lekéri a listanézet vezérlőelem elemeinek számát.
int GetItemCount() const;
Visszaadott érték
A listanézet vezérlőelem elemeinek száma.
Example
Lásd a példát a CListCtrl::DeleteItem.
CListCtrl::GetItemData
Lekéri a megadott elemhez nItemtársított 32 bites alkalmazásspecifikus értéket (x64 esetén 64 bites).
DWORD_PTR GetItemData(int nItem) const;
Paraméterek
nItem
Azon listaelem indexe, amelynek adatait le kell kérni.
Visszaadott érték
A megadott elemhez társított 32 bites (64 bites, ha x64-hez készült) alkalmazásspecifikus érték.
Megjegyzések
Ez az érték a lParam struktúra tagja LVITEM , a Windows SDK-ban leírtak szerint
Example
// If any item's data is equal to zero then reset it to -1.
for (int i=0; i < m_myListCtrl.GetItemCount(); i++)
{
if (m_myListCtrl.GetItemData(i) == 0)
{
m_myListCtrl.SetItemData(i, (DWORD) -1);
}
}
CListCtrl::GetItemIndexRect
Lekéri a határolókeretet az aktuális listanézet-vezérlőben lévő részhalmaz egészére vagy egy részére vonatkozóan.
BOOL GetItemIndexRect(
PLVITEMINDEX pItemIndex,
int iColumn,
int rectType,
LPRECT pRect) const;
Paraméterek
pItemIndex
[in] Mutató az LVITEMINDEX alelem szülőelemének struktúrájára. A hívó felelős a struktúra tagjainak kiosztásáért és beállításáért LVITEMINDEX . Ez a paraméter nem lehet NULL.
iColumn
[in] A vezérlőelem egyik oszlopának nullaalapú indexe.
rectType
[in] Annak a listanézet-részhalmaznak a része, amelyhez a határoló téglalapot lekéri. Adja meg az alábbi értékek egyikét:
-
LVIR_BOUNDS- A teljes részhalmaz határoló téglalapját adja vissza, beleértve az ikont és a címkét is. -
LVIR_ICON- A részhalmaz ikonjának vagy kis ikonjának határoló téglalapját adja vissza. -
LVIR_LABEL– Az alrészlet szövegének határoló téglalapját adja vissza.
pRect
[kifelé] Mutasson egy RECT olyan struktúrára, amely információt kap az alhalmaz határoló téglalapjáról. A hívó felelős a struktúra kiosztásáért RECT . Ez a paraméter nem lehet NULL.
Visszaadott érték
TRUEha ez a módszer sikeres; egyéb esetben. FALSE
Megjegyzések
Ez a metódus elküldi a LVM_GETITEMINDEXRECT Windows SDK-ban leírt üzenetet. További információ: ListView_GetItemIndexRect Makró.
Example
Az első példakód egy változót határoz meg, m_listCtrlamely az aktuális listanézet-vezérlő elérésére szolgál. Ezt a változót a következő példában használjuk.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
A következő példakód a metódust GetGroupRect mutatja be. A példakód megadása előtt létrehoztunk egy listanézet-vezérlőt, amely jelentésnézetben két oszlopot jelenít meg "ClientID" és "Grade" néven. Az alábbi példakód egy 3D téglalapot rajzol mindkét oszlop második részhalmaza köré.
// GetItemIndexRect
// Get the rectangle that bounds the second item in the first group.
LVITEMINDEX lvItemIndex;
lvItemIndex.iGroup = 0;
lvItemIndex.iItem = 1;
CRect rect;
BOOL bRet = m_listCtrl.GetItemIndexRect(
&lvItemIndex, 0, LVIR_BOUNDS, &rect);
// Draw a red rectangle around the item.
m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(255, 0, 0), RGB(255, 0, 0) );
CListCtrl::GetItemPosition
Lekéri egy listanézetelem pozícióját.
BOOL GetItemPosition(
int nItem,
LPPOINT lpPoint) const;
Paraméterek
nItem
Annak az elemnek az indexe, amelynek a pozícióját le kell kérni.
lpPoint
Az POINT elem bal felső sarkának pozícióját fogadó struktúra címe a koordináták megtekintésekor.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Example
POINT pt;
// Move all items in the list control 100 pixels to the right.
UINT i, nCount = m_myListCtrl.GetItemCount();
for (i=0; i < nCount; i++)
{
m_myListCtrl.GetItemPosition(i, &pt);
pt.x += 100;
m_myListCtrl.SetItemPosition(i, pt);
}
CListCtrl::GetItemRect
Lekéri a határolókeretet egy elem egészére vagy egy részére az aktuális nézetben.
BOOL GetItemRect(
int nItem,
LPRECT lpRect,
UINT nCode) const;
Paraméterek
nItem
Annak az elemnek az indexe, amelynek a pozícióját le kell kérni.
lpRect
A határoló téglalapot RECT fogadó struktúra címe.
nCode
A listanézetelem azon része, amelyhez le szeretné kérni a határolókeretet. A következő értékek egyike lehet:
-
LVIR_BOUNDSA teljes elem határoló téglalapját adja vissza, beleértve az ikont és a címkét is. -
LVIR_ICONAz ikon vagy a kis ikon határoló téglalapját adja vissza. -
LVIR_LABELAz elem szövegének határoló téglalapját adja vissza.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Example
// OnClick is the handler for the NM_CLICK notification
void CListCtrlDlg::OnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
UNREFERENCED_PARAMETER(pResult);
LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
// Get the current mouse location and convert it to client
// coordinates.
CPoint pos( ::GetMessagePos() );
ScreenToClient(&pos);
// Get indexes of the first and last visible items in
// the listview control.
int index = m_myListCtrl.GetTopIndex();
int last_visible_index = index + m_myListCtrl.GetCountPerPage();
if (last_visible_index > m_myListCtrl.GetItemCount())
last_visible_index = m_myListCtrl.GetItemCount();
// Loop until number visible items has been reached.
while (index <= last_visible_index)
{
// Get the bounding rectangle of an item. If the mouse
// location is within the bounding rectangle of the item,
// you know you have found the item that was being clicked.
CRect r;
m_myListCtrl.GetItemRect(index, &r, LVIR_BOUNDS);
if (r.PtInRect(pia->ptAction))
{
UINT flag = LVIS_SELECTED | LVIS_FOCUSED;
m_myListCtrl.SetItemState(index, flag, flag);
break;
}
// Get the next item in listview control.
index++;
}
}
CListCtrl::GetItemSpacing
Kiszámítja az aktuális listanézet vezérlőelem elemei közötti térközt.
BOOL GetItemSpacing(
BOOL fSmall,
int* pnHorzSpacing,
int* pnVertSpacing) const;
Paraméterek
fSmall
[in] Az elemköz beolvasásának nézete. Adja meg TRUE a kis ikonnézetet vagy FALSE az ikonnézetet.
pnHorzSpacing
[kifelé] Az elemek közötti vízszintes térközt tartalmazza.
pnVertSpacing
[kifelé] Az elemek közötti függőleges térközt tartalmazza.
Visszaadott érték
TRUEha ez a módszer sikeres; egyéb esetben. FALSE
Megjegyzések
Ez a metódus elküldi a LVM_GETITEMSPACING Windows SDK-ban leírt üzenetet.
CListCtrl::GetItemState
Lekéri egy listanézetelem állapotát.
UINT GetItemState(
int nItem,
UINT nMask) const;
Paraméterek
nItem
Annak az elemnek az indexe, amelynek állapotát le kell kérni.
nMask
Maszk, amely megadja, hogy az elem melyik állapotjelzőjét adja vissza.
Visszaadott érték
A megadott listanézetelem állapotjelzői.
Megjegyzések
Az elemek állapotát a state struktúra tagja LVITEM határozza meg a Windows SDK-ban leírtak szerint. Egy elem állapotának megadásakor vagy módosításakor a stateMask tag megadja, hogy mely állapotbiteket szeretné módosítani.
Example
Lásd a példát a CListCtrl::GetTopIndex.
CListCtrl::GetItemText
Lekéri egy listanézetelem vagy alelem szövegét.
int GetItemText(
int nItem,
int nSubItem,
LPTSTR lpszText,
int nLen) const;
CString GetItemText(
int nItem,
int nSubItem) const;
Paraméterek
nItem
Annak az elemnek az indexe, amelynek a szövegét le szeretné kérni.
nSubItem
Megadja azt az altemet, amelynek a szövegét le szeretné kérni.
lpszText
Mutasson egy sztringre, amely fogadja az elem szövegét.
nLen
A puffer hossza, amely lpszTexta következő szerint mutat: .
Visszaadott érték
A visszaadott int verzió a beolvasott sztring hosszát adja vissza.
A visszaadott CString verzió visszaadja az elem szövegét.
Megjegyzések
Ha nSubItem nulla, ez a függvény lekéri az elemcímkét; ha nSubItem nem, akkor lekéri az alelem szövegét. A részhalmaz argumentumával kapcsolatos további információkért tekintse meg a LVITEM Windows SDK szerkezetének ismertetését.
CListCtrl::GetNextItem
Olyan listanézet-elemet keres, amely rendelkezik a megadott tulajdonságokkal, és amely az adott elemhez való megadott kapcsolatot tartalmazza.
int GetNextItem(
int nItem,
int nFlags) const;
Paraméterek
nItem
Annak az elemnek az indexe, amellyel megkezdheti a keresést, vagy -1 a megadott jelölőknek megfelelő első elem megkereséséhez. Maga a megadott elem ki van zárva a keresésből.
nFlags
A kért elem geometriai relációja a megadott elemhez, valamint a kért elem állapota. A geometriai reláció az alábbi értékek egyike lehet:
-
LVNI_ABOVEOlyan elemet keres, amely a megadott elem felett található. -
LVNI_ALLEgy későbbi elemet keres index szerint (az alapértelmezett érték). -
LVNI_BELOWOlyan elemet keres, amely a megadott elem alatt található. -
LVNI_TOLEFTA megadott elem bal oldalán keres egy elemet. -
LVNI_TORIGHTA megadott elem jobb oldalán keres egy elemet.
Az állapot lehet nulla, vagy egy vagy több ilyen érték is lehet:
-
LVNI_DROPHILITEDAz elemhez azLVIS_DROPHILITEDállapotjelző van beállítva. -
LVNI_FOCUSEDAz elemhez azLVIS_FOCUSEDállapotjelző van beállítva. -
LVNI_SELECTEDAz elemhez azLVIS_SELECTEDállapotjelző van beállítva.
Ha egy elem nem rendelkezik az összes megadott állapotjelzővel, a keresés a következő elemgel folytatódik.
Visszaadott érték
Ha a következő elem indexe sikeres, vagy -1 másként.
CListCtrl::GetNextItemIndex
Lekéri az elem indexét az aktuális listanézet-vezérlőben, amely meghatározott tulajdonságokkal rendelkezik.
BOOL GetNextItemIndex(
PLVITEMINDEX pItemIndex,
int nFlags) const;
Paraméterek
pItemIndex
[be, ki] Mutasson arra a LVITEMINDEX szerkezetre, amely leírja azt az elemet, amelyben a keresés kezdődik, vagy -1 az nFlags paraméter jelölőinek megfelelő első elem megkereséséhez. Ha ez a módszer sikeres, a LVITEMINDEX struktúra a keresés által talált elemet írja le.
nFlags
[in] A keresés végrehajtásának módját meghatározó jelzők bitenkénti kombinációja (OR). A keresés függhet a célelem indexétől, állapotától vagy megjelenésétől, illetve a célelem fizikai helyzetétől a pItemIndex paraméter által megadott elemhez képest. További információkért tekintse meg az flags üzenetben található paramétert LVM_GETNEXTITEMINDEX .
Visszaadott érték
TRUEha ez a módszer sikeres; egyéb esetben. FALSE
Megjegyzések
A hívó felelős a paraméter által hivatkozott struktúra tagjainak LVITEMINDEX kiosztásáért és beállításáért pItemIndex .
Ez a metódus elküldi a LVM_GETNEXTITEMINDEX Windows SDK-ban leírt üzenetet.
CListCtrl::GetNextSelectedItem
Lekéri a listaelem által posazonosított indexet, majd beállítja pos a POSITION értéket.
int GetNextSelectedItem(POSITION& pos) const;
Paraméterek
pos
Egy korábbi hívás GetNextSelectedItemGetFirstSelectedItemPositionáltal visszaadott POSITION értékre mutató hivatkozás. A hívás a következő pozícióba frissíti az értéket.
Visszaadott érték
A listaelem által azonosított posindex.
Megjegyzések
A továbbítási ismétlési ciklusban akkor használható GetNextSelectedItem , ha a kezdeti pozíciót egy hívással GetFirstSelectedItemPositionhozza létre.
Győződjön meg arról, hogy az POSITION érték érvényes. Ha érvénytelen, akkor a Microsoft Foundation osztálytár hibakeresési verziója érvényes.
Example
Az alábbi kódminta a függvény használatát mutatja be.
POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
TRACE(_T("No items were selected!\n"));
}
else
{
while (pos)
{
int nItem = m_myListCtrl.GetNextSelectedItem(pos);
TRACE(_T("Item %d was selected!\n"), nItem);
// you could do your own processing on nItem here
}
}
CListCtrl::GetNumberOfWorkAreas
Lekéri a listanézet-vezérlők munkaterületeinek aktuális számát.
UINT GetNumberOfWorkAreas() const;
Visszaadott érték
Jelenleg nincs használatban.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_GetNumberOfWorkAreasWindows SDK-ban leírtak szerint.
Example
UINT i, uCount = m_myListCtrl.GetNumberOfWorkAreas();
LPRECT lpRects = (LPRECT) malloc(uCount*sizeof(RECT));
if (lpRects != NULL)
{
// Dump all of the work area dimensions.
m_myListCtrl.GetWorkAreas(uCount, lpRects);
for (i=0; i < uCount; i++)
{
TRACE(_T("Work area %d; left = %d, top = %d, right = %d, ")
_T("bottom = %d\r\n"),
i, lpRects[i].left, lpRects[i].top, lpRects[i].right,
lpRects[i].bottom);
}
free(lpRects);
}
else
{
TRACE(_T("Couldn't allocate enough memory!"));
}
CListCtrl::GetOutlineColor
Lekéri a listanézet vezérlőelem szegélyének színét.
COLORREF GetOutlineColor() const;
Visszaadott érték
A vázlat színét tartalmazó struktúrát ad COLORREF vissza.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_GETOUTLINECOLOR üzenet funkcióit.
CListCtrl::GetOrigin
Lekéri egy listanézet vezérlőelem aktuális nézetének forrását.
BOOL GetOrigin(LPPOINT lpPoint) const;
Paraméterek
lpPoint
A nézet forrását POINT fogadó struktúra címe.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla. Ha azonban a vezérlőelem jelentés nézetben van, a visszatérési érték mindig nulla.
CListCtrl::GetSelectedColumn
Lekéri az aktuálisan kijelölt oszlop indexét a listavezérlőben.
UINT GetSelectedColumn() const;
Visszaadott érték
A kijelölt oszlop indexe.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_GETSELECTEDCOLUMN üzenet funkcióit.
CListCtrl::GetSelectedCount
Lekéri a listanézet vezérlőelem kijelölt elemeinek számát.
UINT GetSelectedCount() const;
Visszaadott érték
A listanézet vezérlőelem kijelölt elemeinek száma.
Example
UINT i, uSelectedCount = m_myListCtrl.GetSelectedCount();
int nItem = -1;
// Update all of the selected items.
if (uSelectedCount > 0)
{
for (i=0; i < uSelectedCount; i++)
{
nItem = m_myListCtrl.GetNextItem(nItem, LVNI_SELECTED);
ASSERT(nItem != -1);
m_myListCtrl.Update(nItem);
}
}
CListCtrl::GetSelectionMark
Lekéri egy listanézet vezérlőelem kijelölési jelét.
int GetSelectionMark();
Visszaadott érték
A nullaalapú kijelölési jel, vagy -1, ha nincs kijelölési jel.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_GetSelectionMarkWindows SDK-ban leírtak szerint.
Example
// Set the selection mark to the first item only if no other item is
// selected.
if (m_myListCtrl.GetSelectionMark() == -1)
m_myListCtrl.SetSelectionMark(0);
CListCtrl::GetStringWidth
Meghatározza az adott sztringek megjelenítéséhez szükséges minimális oszlopszélességű értéket.
int GetStringWidth(LPCTSTR lpsz) const;
Paraméterek
lpsz
Null értékű sztring címe, amelynek szélességét meg kell határozni.
Visszaadott érték
A sztring képpontban kifejezett lpszszélessége.
Megjegyzések
A visszaadott szélesség a vezérlőelem aktuális betűtípusát és oszlopmargóit veszi figyelembe, a kis ikonok szélességét azonban nem.
Example
CString strColumn;
int nWidth;
// Insert six columns in the list view control. Make the width of
// the column be the width of the column header plus 50%.
for (int i = 0; i < 6; i++)
{
strColumn.Format(_T("column %d"), i);
nWidth = 3*m_myListCtrl.GetStringWidth(strColumn)/2;
m_myListCtrl.InsertColumn(i, strColumn, LVCFMT_LEFT, nWidth);
}
CListCtrl::GetSubItemRect
Lekéri egy elem határolókeretét egy listanézet vezérlőelemben.
BOOL GetSubItemRect(
int iItem,
int iSubItem,
int nArea,
CRect& ref);
Paraméterek
iItem
Az alelem szülőelemének indexe.
iSubItem
A részhalmaz egy-alapú indexe.
nArea
Meghatározza a lekérendő határoló téglalap (a listanézet alkészletének) a részét. A határoló téglalap része (ikon, címke vagy mindkettő) úgy van megadva, hogy a bitenkénti OR operátort az alábbi értékek valamelyikére alkalmazza:
-
LVIR_BOUNDSA teljes elem határoló téglalapját adja vissza, beleértve az ikont és a címkét is. -
LVIR_ICONAz ikon vagy a kis ikon határoló téglalapját adja vissza. -
LVIR_LABELA teljes elem határoló téglalapját adja vissza, beleértve az ikont és a címkét is. Ez megegyezik aLVIR_BOUNDS.
ref
Hivatkozás az CRect altem határoló téglalapjának koordinátáit tartalmazó objektumra.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_GetSubItemRectWindows SDK-ban leírtak szerint.
CListCtrl::GetTextBkColor
Lekéri a listanézet vezérlőelem szöveghátterének színét.
COLORREF GetTextBkColor() const;
Visszaadott érték
RGB-szín megadásához használt 32 bites érték.
Example
Lásd a példát a CListCtrl::SetTextBkColor.
CListCtrl::GetTextColor
Lekéri a listanézet vezérlőelem szövegszínét.
COLORREF GetTextColor() const;
Visszaadott érték
RGB-szín megadásához használt 32 bites érték.
Example
Lásd a példát a CListCtrl::SetTextColor.
CListCtrl::GetTileInfo
A listanézet vezérlőelem csempéivel kapcsolatos információk lekérése.
BOOL GetTileInfo(PLVTILEINFO plvti) const;
Paraméterek
plvti
A csempeinformációkat fogadó struktúra mutatója LVTILEINFO .
Visszaadott érték
A visszatérési érték nem használatos.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_GETTILEINFO üzenet funkcióit.
CListCtrl::GetTileViewInfo
Információ lekérése a listanézet vezérlőelemről csempe nézetben.
BOOL GetTileViewInfo(PLVTILEVIEWINFO ptvi) const;
Paraméterek
ptvi
A lekért információkat fogadó struktúra mutatója LVTILEVIEWINFO .
Visszaadott érték
A visszatérési érték nem használatos.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_GETTILEVIEWINFO üzenet funkcióit.
CListCtrl::GetToolTips
Lekéri azt az elemleírás-vezérlőt, amelyet a listanézet-vezérlő az elemleírások megjelenítéséhez használ.
CToolTipCtrl* GetToolTips() const;
Visszaadott érték
A listavezérlő által használandó objektumra mutató mutató CToolTipCtrl . Ha a Create tagfüggvény a stílust LVS_NOTOOLTIPShasználja, a rendszer nem használ elemleírásokat, és null értéket ad vissza.
Megjegyzések
Ez a tagfüggvény implementálja a Win32-üzenet LVM_GETTOOLTIPSviselkedését a Windows SDK-ban leírtak szerint. Az MFC-implementáció GetToolTips egy CToolTipCtrl objektumot ad vissza, amelyet a listavezérlő használ, nem pedig egy elemleírás-vezérlő fogópontját.
Example
CToolTipCtrl* pTip = m_myListCtrl.GetToolTips();
if (NULL != pTip)
{
pTip->UpdateTipText(_T("I'm a list view!"), &m_myListCtrl,
IDD_MYLISTCTRL);
}
CListCtrl::GetTopIndex
Lekéri a legfelül látható elem indexét lista- vagy jelentésnézetben.
int GetTopIndex() const;
Visszaadott érték
A legfelső látható elem indexe.
Example
// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();
// Select all of the items that are completely visible.
int n = m_myListCtrl.GetTopIndex();
int nLast = n + m_myListCtrl.GetCountPerPage();
for (; n < nLast; n++)
{
m_myListCtrl.SetItemState(n, LVIS_SELECTED, LVIS_SELECTED);
ASSERT(m_myListCtrl.GetItemState(n, LVIS_SELECTED) == LVIS_SELECTED);
}
CListCtrl::GetView
Lekéri a listanézet vezérlő nézetét.
DWORD GetView() const;
Visszaadott érték
A listanézet vezérlőelem aktuális nézete.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_GETVIEW üzenet funkcióit.
CListCtrl::GetViewRect
Lekéri a listanézet vezérlőelem összes elemének határoló téglalapját.
BOOL GetViewRect(LPRECT lpRect) const;
Paraméterek
lpRect
Egy RECT struktúra címe.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
A listanézetnek ikonnézetben vagy kis ikonnézetben kell lennie.
CListCtrl::GetWorkAreas
Lekéri a listanézet vezérlőelem aktuális munkaterületeit.
void GetWorkAreas(
int nWorkAreas,
LPRECT pRect) const;
Paraméterek
nWorkAreas
A tömbben pRect található struktúrák számaRECT.
pRect
A listanézet-vezérlő munkaterületeit fogadó struktúrák (vagy CRect objektumok) tömbjének RECT mutatója. Az ezekben a struktúrákban lévő értékek ügyfélkoordinátákban találhatók.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_GetWorkAreasWindows SDK-ban leírtak szerint.
Example
Lásd a példát a CListCtrl::GetNumberOfWorkAreas.
CListCtrl::HasGroup
Meghatározza, hogy a listanézet vezérlőelem rendelkezik-e a megadott csoportokkal.
BOOL HasGroup(int iGroupId) const;
Paraméterek
iGroupId
A kért csoport azonosítója.
Visszaadott érték
TRUE
FALSE Sikeres, sikertelen eredmény.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_HASGROUP üzenet funkcióit.
CListCtrl::HitTest
Meghatározza, hogy melyik listanézetelem (ha van ilyen) adott helyen van.
int HitTest(LVHITTESTINFO* pHitTestInfo) const;
int HitTest(
CPoint pt,
UINT* pFlags = NULL) const;
Paraméterek
pHitTestInfo
Egy LVHITTESTINFO olyan struktúra címe, amely tartalmazza a találati pozíciót, és amely információt kap a találati teszt eredményeiről.
pt
Tesztelendő pont.
pFlags
Mutasson egy egész számra, amely információt kap a teszt eredményeiről. Tekintse meg a flags struktúra tagjának magyarázatát LVHITTESTINFO a Windows SDK-ban.
Visszaadott érték
Az elem indexe a megadott pHitTestInfopozícióban , ha van ilyen, vagy más -1.
Megjegyzések
A struktúra tagjának , , és értékeinek használatával LVHT_ABOVEmeghatározhatjaflag, hogy görgetni szeretné-e a listanézet-vezérlő tartalmát.LVHT_TORIGHTLVHT_TOLEFTLVHT_BELOW Ezen jelzők közül kettő kombinálható, például ha a pozíció az ügyfélterület felett és bal oldalán található.
Tesztelheti a LVHT_ONITEM struktúra flag tagjának értékét annak megállapításához, hogy egy adott pozíció egy listanézet-elem felett van-e. Ez az érték a struktúra tagjának bitenkénti LVHT_ONITEMLABELVAGY műveleteLVHT_ONITEMICONflag, és LVHT_ONITEMSTATEICON értékei.
Example
void CListCtrlDlg::OnRClick(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
CPoint point(pia->ptAction);
// Select the item the user clicked on.
UINT uFlags;
int nItem = m_myListCtrl.HitTest(point, &uFlags);
if (uFlags & LVHT_ONITEMLABEL)
{
m_myListCtrl.SetItem(nItem, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED,
LVIS_SELECTED, 0);
}
*pResult = 0;
}
CListCtrl::InsertColumn
Új oszlop beszúrása listanézet-vezérlőbe.
int InsertColumn(
int nCol,
const LVCOLUMN* pColumn);
int InsertColumn(
int nCol,
LPCTSTR lpszColumnHeading,
int nFormat = LVCFMT_LEFT,
int nWidth = -1,
int nSubItem = -1);
Paraméterek
nCol
Az új oszlop indexe.
pColumn
Az LVCOLUMN új oszlop attribútumait tartalmazó struktúra címe.
lpszColumnHeading
Az oszlop fejlécét tartalmazó sztring címe.
nFormat
Az oszlop igazítását meghatározó egész szám. A következő értékek egyike lehet: LVCFMT_LEFT, LVCFMT_RIGHTvagy LVCFMT_CENTER.
nWidth
Az oszlop szélessége képpontban. Ha ez a paraméter -1, az oszlopszélesség nincs beállítva.
nSubItem
Az oszlophoz társított részhalmaz indexe. Ha ez a paraméter -1, az oszlophoz nincs altörzs társítva.
Visszaadott érték
Az új oszlop indexe, ha sikeres vagy -1 másként.
Megjegyzések
A listanézet vezérlőelem bal szélső oszlopát balra kell igazítani.
A LVCOLUMN struktúra egy oszlop attribútumait tartalmazza jelentésnézetben. Az oszlopokkal kapcsolatos információk fogadására is használható. Ezt a struktúrát a Windows SDK ismerteti.
CListCtrl::InsertGroup
Beszúr egy csoportot a listanézet vezérlőbe.
LRESULT InsertGroup(
int index,
PLVGROUP pgrp);
Paraméterek
index
Annak az elemnek az indexe, amelyben a csoportot be szeretné szúrni.
pgrp
A hozzáadni kívánt LVGROUP csoportot tartalmazó struktúra mutatója.
Visszaadott érték
Annak az elemnek az indexét adja vissza, amelybe a csoportot hozzáadták, vagy -1, ha a művelet sikertelen volt.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_INSERTGROUP üzenet funkcióit.
CListCtrl::InsertGroupSorted
A megadott csoportot beszúrja a csoportok rendezett listájába.
LRESULT InsertGroupSorted(PLVINSERTGROUPSORTED pStructInsert);
Paraméterek
pStructInsert
A beszúrni kívánt LVINSERTGROUPSORTED csoportot tartalmazó struktúra mutatója.
Visszaadott érték
A visszatérési érték nem használatos.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_INSERTGROUPSORTED üzenet funkcióit.
CListCtrl::InsertItem
Elemet szúr be a listanézet vezérlőelembe.
int InsertItem(const LVITEM* pItem);
int InsertItem(
int nItem,
LPCTSTR lpszItem);
int InsertItem(
int nItem,
LPCTSTR lpszItem,
int nImage);
int InsertItem(
UINT nMask,
int nItem,
LPCTSTR lpszItem,
UINT nState,
UINT nStateMask,
int nImage,
LPARAM lParam);
Paraméterek
pItem
Mutasson egy LVITEM-struktúrára , amely megadja az elem attribútumait a Windows SDK-ban leírtak szerint.
nItem
A beszúrni kívánt elem indexe.
lpszItem
Az elem címkéjét tartalmazó sztring címe, vagy LPSTR_TEXTCALLBACK ha az elem visszahívási elem. A visszahívási elemekről további információt a következő témakörben talál CListCtrl::GetCallbackMask: .
nImage
Az elem képének indexe, vagy I_IMAGECALLBACK ha az elem visszahívási elem. A visszahívási elemekről további információt a következő témakörben talál CListCtrl::GetCallbackMask: .
nMask
A nMask paraméter megadja, hogy a paraméterekként átadott elemattribútumok érvényesek-e. Ez lehet a Windows SDK StruktúrájábanLVITEM leírt maszkértékek egyike vagy több. Az érvényes értékek a bitenkénti VAGY operátorral kombinálhatók.
nState
Az elem állapotát, állapotképét és átfedő képét jelzi. További információkért tekintse meg a Windows SDK Szerkezet és List-View Elemállapotok témakörét LVITEM az érvényes jelzők listájához.
nStateMask
Azt jelzi, hogy a rendszer mely biteket kéri le vagy módosítja. További információ: LVITEM Struktúra a Windows SDK-ban.
lParam
Az elemhez társított 32 bites alkalmazásspecifikus érték (x64 esetén 64 bites). Ha ez a paraméter meg van adva, be kell állítania az nMask attribútumot LVIF_PARAM.
Visszaadott érték
Ha az új elem indexe sikeres, vagy más -1.
Megjegyzések
Ennek a metódusnak a meghívása miatt az LVM_INSERTITEM üzenet elküldhető a vezérlőablakba. Előfordulhat, hogy a vezérlőhöz társított üzenetkezelő bizonyos feltételek mellett (például ablakstílusok LVS_OWNERDRAWhasználata) nem tudja beállítani az elem szövegét. Ezekről a feltételekről további információt a Windows SDK-ban talál LVM_INSERTITEM .
Example
CString strText;
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();
// Insert 10 items in the list view control.
for (int i = 0; i < 10; i++)
{
strText.Format(TEXT("item %d"), i);
// Insert the item, select every other item.
m_myListCtrl.InsertItem(LVIF_TEXT | LVIF_STATE, i, strText,
(i % 2) == 0 ? LVIS_SELECTED : 0, LVIS_SELECTED, 0, 0);
// Initialize the text of the subitems.
for (int j = 1; j < nColumnCount; j++)
{
strText.Format(TEXT("sub-item %d %d"), i, j);
m_myListCtrl.SetItemText(i, j, strText);
}
}
CListCtrl::InsertMarkHitTest
Lekéri a megadott ponthoz legközelebb eső beszúrási pontot.
int InsertMarkHitTest(
LPPOINT pPoint,
LPLVINSERTMARK plvim) const;
Paraméterek
pPoint
A találatteszt koordinátáit tartalmazó struktúra mutatója POINT a listavezérlő ügyfélterületéhez viszonyítva.
plvim
A pontparaméter által definiált koordinátákhoz legközelebb eső beszúrási pontot meghatározó struktúra mutatója LVINSERTMARK .
Visszaadott érték
A megadott ponthoz legközelebbi beszúrási pont.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_INSERTMARKHITTEST üzenet funkcióit.
CListCtrl::IsGroupViewEnabled
Meghatározza, hogy a csoportnézet engedélyezve van-e egy listanézet-vezérlőhöz.
BOOL IsGroupViewEnabled() const;
Visszaadott érték
Akkor adja TRUE vissza, ha a csoportnézet engedélyezve van, vagy FALSE más módon.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_ISGROUPVIEWENABLED üzenet funkcióit.
CListCtrl::IsItemVisible
Azt jelzi, hogy az aktuális listanézet vezérlőelemben látható-e egy adott elem.
BOOL IsItemVisible(int index) const;
Paraméterek
index
[in] Egy elem nullaalapú indexe az aktuális listanézet vezérlőelemben.
Visszaadott érték
TRUEha a megadott elem látható; egyéb esetben. FALSE
Megjegyzések
Ez a metódus elküldi a LVM_ISITEMVISIBLE Windows SDK-ban leírt üzenetet.
CListCtrl::MapIDToIndex
Az aktuális listanézet vezérlőelem egy elemének egyedi azonosítóját indexre képezi le.
UINT MapIDToIndex(UINT id) const;
Paraméterek
id
[in] Egy elem egyedi azonosítója.
Visszaadott érték
A megadott azonosító aktuális indexe.
Megjegyzések
A listanézet-vezérlők belsőleg index alapján követik nyomon az elemeket. Ez problémákat okozhat, mert az indexek a vezérlő élettartama során változhatnak. A listanézet-vezérlő az elem létrehozásakor azonosítóval címkézhet meg egy elemet, és ezzel az azonosítóval garantálhatja az egyediséget a listanézet-vezérlő élettartama során.
Többszálas környezetben az index csak a listanézet-vezérlőt futtató szálon garantált, a háttérszálakon nem.
Ez a metódus elküldi a LVM_MAPIDTOINDEX Windows SDK-ban leírt üzenetet.
CListCtrl::MapIndexToID
Az aktuális listanézet vezérlőelem egyik elemének indexét egy egyedi azonosítóra képezi le.
UINT MapIndexToID(UINT index) const;
Paraméterek
index
[in] Egy elem nulla alapú indexe.
Visszaadott érték
A megadott elem egyedi azonosítója.
Megjegyzések
A listanézet-vezérlők belsőleg index alapján követik nyomon az elemeket. Ez problémákat okozhat, mert az indexek a vezérlő élettartama során változhatnak. A listanézet-vezérlő az elem létrehozásakor azonosítóval címkézhet meg egy elemet. Ezzel az azonosítóval egy adott elemet érhet el a listanézet-vezérlő élettartamára vonatkozóan.
Többszálas környezetben az index csak a listanézet-vezérlőt futtató szálon garantált, a háttérszálakon nem.
Ez a metódus elküldi a LVM_MAPINDEXTOID Windows SDK-ban leírt üzenetet.
Example
Az első példakód egy változót határoz meg, m_listCtrlamely az aktuális listanézet-vezérlő elérésére szolgál. Ezt a változót a következő példában használjuk.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
A következő példakód a metódust MapIndexToID mutatja be. A kód példájának egy korábbi szakaszában létrehoztunk egy listanézet-vezérlőt, amely jelentésnézetben két oszlopot jelenít meg "ClientID" és "Grade" (Ügyfélazonosító) és "Grade" (Osztályzat) címmel. Az alábbi példa az egyes listanézeti elemek indexét egy azonosítószámra képezi le, majd lekéri az egyes azonosítószámok indexét. Végül a példa azt jelzi, hogy az eredeti indexek le lettek-e kérve.
// MapIndexToID
int iCount = m_listCtrl.GetItemCount();
UINT nId = 0;
UINT nIndex = 0;
for (int iIndexOriginal = 0; iIndexOriginal < iCount; iIndexOriginal++)
{
// Map index to ID.
nId = m_listCtrl.MapIndexToID((UINT)iIndexOriginal);
// Map ID to index.
nIndex = m_listCtrl.MapIDToIndex(nId);
if (nIndex != (UINT)(iIndexOriginal))
{
CString str;
str.Format(_T("Mapped index (%d) is not equal to original index (%d)"),
nIndex, (UINT)(iIndexOriginal));
AfxMessageBox(str);
return;
}
}
AfxMessageBox(_T("The mapped indexes and original indexes are equal."),
MB_ICONINFORMATION);
CListCtrl::MoveGroup
A megadott csoportot a listanézet vezérlőelem megadott nulla alapú indexére helyezi át.
LRESULT MoveGroup(
int iGroupId,
int toIndex);
Paraméterek
iGroupId
Az áthelyezendő csoport azonosítója.
toIndex
Az a nulla alapú index, ahová a csoportot át szeretné helyezni.
Visszaadott érték
A visszatérési érték nem használatos.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_MOVEGROUP üzenet funkcióit.
CListCtrl::MoveItemToGroup
A megadott elemet áthelyezi a megadott csoportba.
void MoveItemToGroup(
int idItemFrom,
int idGroupTo);
Paraméterek
idItemFrom
[in] Az áthelyezendő elem indexe.
idGroupTo
[in] Annak a csoportnak az azonosítója, amelybe az elemet áthelyezi.
Megjegyzések
Megjegyzés:
Ez a metódus jelenleg nincs implementálva.
Ez a metódus az üzenet funkcióit LVM_MOVEITEMTOGROUP emulálja a Windows SDK-ban leírtak szerint.
CListCtrl::RedrawItems
Listanézet-vezérlő kényszerítése elemek egy tartományának újrafestésére.
BOOL RedrawItems(
int nFirst,
int nLast);
Paraméterek
nFirst
Az első újrafestendő elem indexe.
nLast
Az utolsó újrafestendő elem indexe.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
A megadott elemek csak akkor lesznek újrafestve, ha a listanézet ablaka WM_PAINT üzenetet kap. Ha azonnal újra szeretné festeni, hívja meg a Windows UpdateWindow függvényt a függvény használata után.
CListCtrl::RemoveAllGroups
Eltávolítja az összes csoportot egy listanézet-vezérlőből.
void RemoveAllGroups();
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_REMOVEALLGROUPS üzenet funkcióit.
CListCtrl::RemoveGroup
Eltávolítja a megadott csoportot a listanézet vezérlőből.
LRESULT RemoveGroup(int iGroupId);
Paraméterek
iGroupId
Az eltávolítandó csoport azonosítója.
Visszaadott érték
A csoport indexét adja vissza, ha sikeres, vagy ha más -1.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_REMOVEGROUP üzenet funkcióit.
CListCtrl::Scroll
Görgeti a listanézet vezérlőelem tartalmát.
BOOL Scroll(CSize size);
Paraméterek
size
Egy CSize objektum, amely képpontban adja meg a vízszintes és a függőleges görgetés mennyiségét. A yméret tagját a listanézet vezérlőelem vonalának képpontban kifejezett magassága osztja el, a vezérlőt pedig az eredményként kapott sorok száma görgeti.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
CListCtrl::SetBkColor
Beállítja a listanézet vezérlőelem háttérszínét.
BOOL SetBkColor(COLORREF cr);
Paraméterek
cr
A beállításhoz használt háttérszín vagy a CLR_NONE háttérszín nélküli érték. A háttérszínekkel rendelkező listanézet-vezérlők jelentősen gyorsabban újrarajzolva, mint a háttérszínek nélküliek. További információt a Windows SDK-ban talál COLORREF .
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Example
// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetBkColor(crBkColor);
ASSERT(m_myListCtrl.GetBkColor() == crBkColor);
CListCtrl::SetBkImage
Beállítja a listanézet vezérlőelem háttérképét.
BOOL SetBkImage(LVBKIMAGE* plvbkImage);
BOOL SetBkImage(
HBITMAP hBitmap,
BOOL fTile = TRUE,
int xOffsetPercent = 0,
int yOffsetPercent = 0);
BOOL SetBkImage(
LPTSTR pszUrl,
BOOL fTile = TRUE,
int xOffsetPercent = 0,
int yOffsetPercent = 0);
Paraméterek
plvbkImage
Egy LVBKIMAGE struktúra címe, amely az új háttérkép adatait tartalmazza.
hBitmap
Fogópont bitképhez.
pszUrl
Egy NULL-terminated karakterlánc, amely a háttérkép URL-címét tartalmazza.
fTile
Nonzero, ha a rendszerképet a listanézet-vezérlő hátterében kell csempézni; egyéb esetben 0.
xOffsetPercent
A kép bal szélének eltolása képpontban a listanézet vezérlőelem forrásából.
yOffsetPercent
A kép felső szélének eltolása képpontban a listanézet vezérlőjének forrásától.
Visszaadott érték
Sikertelen értéket ad vissza, ha sikeres, vagy ellenkező esetben nulla értéket ad vissza.
Megjegyzések
Megjegyzés:
Mivel CListCtrl::SetBkImage az OLE COM funkciót használja, az OLE-kódtárakat inicializálni kell a használat SetBkImageelőtt. A COM-kódtárak inicializálása az alkalmazás inicializálásakor és a kódtárak inicializálásakor a legjobb megoldás. Ez automatikusan történik az ActiveX technológiát, az OLE Automationt, az OLE Linking/Beágyazást vagy az ODBC/DAO-műveleteket használó MFC-alkalmazásokban.
Example
Lásd a példát a CListCtrl::GetBkImage.
CListCtrl::SetCallbackMask
Beállítja a visszahívási maszkot egy listanézet-vezérlőhöz.
BOOL SetCallbackMask(UINT nMask);
Paraméterek
nMask
A visszahívási maszk új értéke.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Example
// Set the callback mask so that only the selected and focused states
// are stored for each item.
m_myListCtrl.SetCallbackMask(LVIS_SELECTED|LVIS_FOCUSED);
ASSERT(m_myListCtrl.GetCallbackMask() ==
(LVIS_SELECTED|LVIS_FOCUSED));
CListCtrl::SetCheck
Meghatározza, hogy egy listavezérlő elem állapotképe látható-e.
BOOL SetCheck(
int nItem,
BOOL fCheck = TRUE);
Paraméterek
nItem
Listavezérlő elem nulla alapú indexe.
fCheck
Megadja, hogy az elem állapotképének láthatónak kell-e lennie. Alapértelmezés szerint fCheck az, TRUE és az állapot képe látható. Ha fCheck igen FALSE, akkor nem látható.
Visszaadott érték
Ha az elem be van jelölve, akkor nem nulla, ellenkező esetben 0.
Example
int nCount = m_myListCtrl.GetItemCount();
BOOL fCheck = FALSE;
// Set the check state of every other item to TRUE and
// all others to FALSE.
for (int i = 0; i < nCount; i++)
{
m_myListCtrl.SetCheck(i, fCheck);
ASSERT((m_myListCtrl.GetCheck(i) && fCheck) ||
(!m_myListCtrl.GetCheck(i) && !fCheck));
fCheck = !fCheck;
}
CListCtrl::SetColumn
Egy listanézet oszlop attribútumait állítja be.
BOOL SetColumn(
int nCol,
const LVCOLUMN* pColumn);
Paraméterek
nCol
Annak az oszlopnak az indexe, amelynek attribútumait be kell állítani.
pColumn
LVCOLUMN Az új oszlopattribútumokat tartalmazó struktúra címe a Windows SDK-ban leírtak szerint. A struktúra tagja mask határozza meg, hogy mely oszlopattribútumokat kell beállítani. Ha a mask tag megadja az LVCF_TEXT értéket, a struktúra tagja pszText egy null értékű sztring címe, és a rendszer figyelmen kívül hagyja a struktúra tagját cchTextMax .
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Example
Lásd a példát a CListCtrl::GetColumn.
CListCtrl::SetColumnOrderArray
Egy listanézet vezérlőelem oszlopsorrendjének beállítása (balról jobbra).
BOOL SetColumnOrderArray(
int iCount,
LPINT piArray);
Paraméterek
piArray
Mutató egy pufferre, amely a listanézet vezérlőelem oszlopainak indexértékeit tartalmazza (balról jobbra). A puffernek elég nagynak kell lennie ahhoz, hogy a listanézet vezérlőelem oszlopainak teljes számát tartalmazza.
iCount
A listanézet vezérlőelem oszlopainak száma.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_SetColumnOrderArrayWindows SDK-ban leírtak szerint.
Example
Lásd a példát a CListCtrl::GetColumnOrderArray.
CListCtrl::SetColumnWidth
Módosítja egy oszlop szélességét jelentés- vagy listanézetben.
BOOL SetColumnWidth(
int nCol,
int cx);
Paraméterek
nCol
Annak az oszlopnak az indexe, amelyhez a szélességet be kell állítani. Listanézetben ennek a paraméternek 0-nak kell lennie.
cx
Az oszlop új szélessége. Lehet vagy LVSCW_AUTOSIZELVSCW_AUTOSIZE_USEHEADERa Windows SDK-ban LVM_SETCOLUMNWIDTH leírtak szerint.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
CListCtrl::SetExtendedStyle
A listanézet vezérlőelem aktuális kiterjesztett stílusait állítja be.
DWORD SetExtendedStyle(DWORD dwNewStyle);
Paraméterek
dwNewStyle
A listanézet vezérlőelem által használandó kiterjesztett stílusok kombinációja. A stílusok leíró listáját a Windows SDK Bővített listanézetstílusok című témakörében találja.
Visszaadott érték
A listanézet vezérlőelem által használt korábbi kiterjesztett stílusok kombinációja.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_SetExtendedListViewStyleWindows SDK-ban leírtak szerint.
Example
// Allow the header controls item to be movable by the user.
m_myListCtrl.SetExtendedStyle
(m_myListCtrl.GetExtendedStyle()|LVS_EX_HEADERDRAGDROP);
CListCtrl::SetGroupInfo
Beállítja az aktuális listanézet vezérlőelem megadott csoportját leíró információkat.
int SetGroupInfo(
int iGroupId,
PLVGROUP pgrp);
Paraméterek
iGroupId
Annak a csoportnak az azonosítója, amelynek az adatai be van állítva.
pgrp
Mutasson egy LVGROUP olyan struktúrára, amely tartalmazza a beállítandó információkat. A hívó felelős a struktúra kiosztásáért és a tagok beállításáért.
Visszaadott érték
A csoport azonosítója, ha a módszer sikeres; ellenkező esetben -1.
Megjegyzések
Ez a metódus elküldi a LVM_SETGROUPINFO Windows SDK-ban leírt üzenetet.
CListCtrl::SetGroupMetrics
Egy listanézet vezérlőelem csoportmetrikáit állítja be.
void SetGroupMetrics(PLVGROUPMETRICS pGroupMetrics);
Paraméterek
pGroupMetrics
Mutató egy LVGROUPMETRICS olyan struktúrára, amely tartalmazza a beállítandó csoportmetrika-információkat.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_SETGROUPMETRICS üzenet funkcióit.
CListCtrl::SetHotCursor
Beállítja a kurzort, amikor a gyorskövetés engedélyezve van egy listanézet-vezérlőhöz.
HCURSOR SetHotCursor(HCURSOR hc);
Paraméterek
hc
A kurzorerőforrás leírója, amely a gyakori elérésű kurzort jelöli.
Visszaadott érték
A listanézet vezérlőelem által használt előző gyorsmutató-erőforrás fogópontja.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_SetHotCursorWindows SDK-ban leírtak szerint.
A gyors kurzor, amely csak akkor látható, ha a rámutatás engedélyezve van, akkor jelenik meg, amikor a kurzor áthalad a listanézet elemein. Az egérmutató kijelölése a kiterjesztett stílus beállításával LVS_EX_TRACKSELECT engedélyezve van.
Example
Lásd a példát a CListCtrl::GetHotCursor.
CListCtrl::SetHotItem
A listanézet vezérlőelem aktuális gyakori elemet állítja be.
int SetHotItem(int iIndex);
Paraméterek
iIndex
A gyakori elemként beállítani kívánt elem nullaalapú indexe.
Visszaadott érték
A korábban gyakori elérésű elem nulla alapú indexe.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_SetHotItemWindows SDK-ban leírtak szerint.
Example
Lásd a példát a CListCtrl::GetHotItem.
CListCtrl::SetHoverTime
A listanézet vezérlőelem aktuális rámutatási idejét állítja be.
DWORD SetHoverTime(DWORD dwHoverTime = (DWORD)-1);
Paraméterek
dwHoverTime
Az új késleltetés ezredmásodpercben, amelyet az egérmutatónak egy elem fölé kell rámutatnia a kijelölés előtt. Ha az alapértelmezett érték átadása megtörtént, az idő az alapértelmezett rámutatási időpontra van állítva.
Visszaadott érték
Az előző rámutatási idő ezredmásodpercben.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_SetHoverTimeWindows SDK-ban leírtak szerint.
Example
Lásd a példát a CListCtrl::GetHoverTime.
CListCtrl::SetIconSpacing
A listanézet vezérlőelem ikonjai közötti térközt állítja be.
CSize SetIconSpacing(
int cx,
int cy);
CSize SetIconSpacing(CSize size);
Paraméterek
cx
Az x tengely ikonjai közötti távolság (képpontban kifejezve).
cy
Az y tengely ikonjai közötti távolság (képpontban kifejezve).
size
Az CSize x és az y tengely ikonjai közötti távolságot (képpontban) meghatározó objektum.
Visszaadott érték
Az CSize ikonköz korábbi értékeit tartalmazó objektum.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_SetIconSpacingWindows SDK-ban leírtak szerint.
Example
// Leave lots of space between icons.
m_myListCtrl.SetIconSpacing(CSize(100, 100));
CListCtrl::SetImageList
Képlistát rendel egy listanézet-vezérlőhöz.
CImageList* SetImageList(
CImageList* pImageList,
int nImageListType);
Paraméterek
pImageList
Mutasson a hozzárendelni kívánt képlistára.
nImageListType
Képlista típusa. A következő értékek egyike lehet:
-
LVSIL_NORMALKéplista nagy ikonokkal. -
LVSIL_SMALLKéplista kis ikonokkal. -
LVSIL_STATEÁllapotképeket tartalmazó képlista.
Visszaadott érték
Mutató az előző képlistára.
Example
Lásd a példát a CListCtrl::GetImageList.
CListCtrl::SetInfoTip
Beállítja az elemleírás szövegét.
BOOL SetInfoTip(PLVSETINFOTIP plvInfoTip);
Paraméterek
plvInfoTip
A beállítandó információkat tartalmazó struktúra mutatója LVFSETINFOTIP .
Visszaadott érték
TRUE
FALSE Sikeres, sikertelen eredmény.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_SETINFOTIP üzenet funkcióit.
CListCtrl::SetInsertMark
A beszúrási pontot a megadott pozícióra állítja.
BOOL SetInsertMark(LPLVINSERTMARK plvim);
Paraméterek
plvim
Mutató egy LVINSERTMARK szerkezetre, amely megadja a beszúrási pont beállításának helyét.
Visszaadott érték
TRUE Sikeres vagy FALSE más módon visszaadott értéket.
FALSE a rendszer akkor adja vissza, ha a cbSize struktúra tagjának LVINSERTMARK mérete nem egyenlő a struktúra tényleges méretével, vagy ha egy beszúrási pont nem érvényes az aktuális nézetben.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_SETINSERTMARK üzenet funkcióit.
CListCtrl::SetInsertMarkColor
Beállítja a beszúrási pont színét.
COLORREF SetInsertMarkColor(COLORREF color);
Paraméterek
color
A COLORREF beszúrási pont beállításához a színt meghatározó struktúra.
Visszaadott érték
Az előző színt COLORREF tartalmazó struktúrát adja vissza.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_SETINSERTMARKCOLOR üzenet funkcióit.
CListCtrl::SetItem
Egy listanézet-elem attribútumainak egy részét vagy egészét állítja be.
BOOL SetItem(const LVITEM* pItem);
BOOL SetItem(
int nItem,
int nSubItem,
UINT nMask,
LPCTSTR lpszItem,
int nImage,
UINT nState,
UINT nStateMask,
LPARAM lParam);
BOOL SetItem(
int nItem,
int nSubItem,
UINT nMask,
LPCTSTR lpszItem,
int nImage,
UINT nState,
UINT nStateMask,
LPARAM lParam,
int nIndent);
Paraméterek
pItem
LVITEM Az új elemattribútumokat tartalmazó struktúra címe a Windows SDK-ban leírtak szerint. A struktúra iItem és iSubItem a tagok azonosítják az elemet vagy altemet, a struktúra tagja mask pedig meghatározza, hogy mely attribútumokat kell beállítani. A tagról mask további információt a Megjegyzések című témakörben talál.
nItem
Annak az elemnek az indexe, amelynek attribútumait be kell állítani.
nSubItem
Annak az altemnek az indexe, amelynek attribútumait be kell állítani.
nMask
Megadja, hogy mely attribútumokat kell beállítani (lásd a megjegyzéseket).
lpszItem
Az elem címkéjét megadó null értékű sztring címe.
nImage
Az elem képének indexe a képlistában.
nState
A módosítandó állapotok értékeit adja meg (lásd a megjegyzéseket).
nStateMask
Meghatározza, hogy mely állapotokat kell módosítani (lásd a megjegyzéseket).
lParam
Egy 32 bites (64 bites, ha x64-hez készült) alkalmazásspecifikus értéket az elemhez társítani.
nIndent
A behúzás szélessége képpontban. Ha nIndent kisebb, mint a rendszer által meghatározott minimális szélesség, az új szélesség a rendszer által meghatározott minimálisra van állítva
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
A iItem struktúra és iSubItem a LVITEMnItemnSubItem paraméterek tagjai azonosítják azt az elemet és altörzset, amelynek attribútumait be kell állítani.
A mask struktúra tagja LVITEM és a nMask paraméter határozza meg, hogy mely elemattribútumokat kell beállítani:
-
LVIF_TEXTApszTexttag vagy alpszItemparaméter egy null értékű sztring címe; a rendszer figyelmen kívül hagyja acchTextMaxtagot. -
LVIF_STATEAstateMasktag vagynStateMaskparaméter megadja, hogy mely elemállapotok változnak, és astatetag vagynStateparaméter tartalmazza az adott állapot értékeit.
Example
Lásd a példát a CListCtrl::HitTest.
CListCtrl::SetItemCount
Listanézet-vezérlő előkészítése nagy számú elem hozzáadásához.
void SetItemCount(int nItems);
Paraméterek
nItems
A vezérlő által végül tartalmazott elemek száma.
Megjegyzések
A virtuális listanézet vezérlőelem elemszámának beállításához lásd CListCtrl::SetItemCountEx: .
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_SetItemCountWindows SDK-ban leírtak szerint.
Example
CString str;
// Add 1024 items to the list view control.
m_myListCtrl.SetItemCount(1024);
for (int i = 0; i < 1024; i++)
{
str.Format(TEXT("item %d"), i);
m_myListCtrl.InsertItem(i, str);
}
CListCtrl::SetItemCountEx
Beállítja egy virtuális listanézet vezérlőelem elemszámát.
BOOL SetItemCountEx(
int iCount,
DWORD dwFlags = LVSICF_NOINVALIDATEALL);
Paraméterek
iCount
A vezérlő által végül tartalmazott elemek száma.
dwFlags
A listanézet vezérlő viselkedését adja meg az elemszám alaphelyzetbe állítása után. Ez az érték a következők kombinációja lehet:
-
LVSICF_NOINVALIDATEALLA listanézet vezérlőelem csak akkor lesz újrafestve, ha az érintett elemek jelenleg nézetben vannak. Ez az alapértelmezett érték. -
LVSICF_NOSCROLLA listanézet vezérlőelem nem módosítja a görgetési pozíciót, amikor az elemek száma megváltozik.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
Ez a tagfüggvény implementálja a Win32-makró viselkedését, ListView_SetItemCountExa Windows SDK-ban leírtak szerint, és csak virtuális listanézetekhez kell meghívni.
Example
CString str;
// Add 1024 items to the list view control.
// Force my virtual list view control to allocate
// enough memory for my 1024 items.
m_myVirtualListCtrl.SetItemCountEx(1024, LVSICF_NOSCROLL|
LVSICF_NOINVALIDATEALL);
for (int i = 0; i < 1024; i++)
{
str.Format(TEXT("item %d"), i);
m_myVirtualListCtrl.InsertItem(i, str);
}
CListCtrl::SetItemData
Beállítja a 32 bites (64 bites, ha x64-hez készült) alkalmazásspecifikus értéket a megadott nItemelemhez.
BOOL SetItemData(int nItem, DWORD_PTR dwData);
Paraméterek
nItem
Azon listaelem indexe, amelynek adatait be kell állítani.
dwData
32 bites érték (x64 esetén 64 bites) az elemhez való társításhoz.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
Ez az érték a lParam struktúra tagja LVITEM , a Windows SDK-ban leírtak szerint.
Example
// Set the data of each item to be equal to its index.
for (int i = 0; i < m_myListCtrl.GetItemCount(); i++)
{
m_myListCtrl.SetItemData(i, i);
}
CListCtrl::SetItemIndexState
Egy elem állapotát állítja be az aktuális listanézet-vezérlőben.
BOOL SetItemIndexState(
PLVITEMINDEX pItemIndex,
DWORD dwState,
DWORD dwMask) const;
Paraméterek
pItemIndex
[in] Mutató egy LVITEMINDEX elemet leíró struktúrára. A hívó felelős a struktúra kiosztásáért és a tagok beállításáért.
dwState
[in] Az elem beállításának állapota, amely a listanézetelem-állapotok bitenkénti kombinációja. Adjon meg nullát egy állapot alaphelyzetbe állításához vagy egy beállításához.
dwMask
[in] A paraméter által megadott állapot érvényes bitjeinek maszkja dwState . Adja meg a listanézetelem-állapotok bitenkénti kombinációját (OR).
Visszaadott érték
TRUEha ez a módszer sikeres; egyéb esetben. FALSE
Megjegyzések
A paraméterről további információt az dwStateElemállapotok listanézete című témakörben talál.
A paraméterről stateMask a dwMask struktúra tagjáról LVITEM olvashat bővebben.
Ez a metódus elküldi a LVM_SETITEMINDEXSTATE Windows SDK-ban leírt üzenetet.
CListCtrl::SetItemPosition
Elem áthelyezése egy listanézet vezérlőelem megadott helyére.
BOOL SetItemPosition(
int nItem,
POINT pt);
Paraméterek
nItem
Annak az elemnek az indexe, amelynek a pozícióját be kell állítani.
pt
Egy POINT struktúra, amely az elem bal felső sarkának új pozícióját adja meg a nézetkoordinátákban.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
A vezérlőnek ikon vagy kis ikon nézetben kell lennie.
Ha a listanézet vezérlőelem stílussal LVS_AUTOARRANGE rendelkezik, a listanézet az elem pozíciójának beállítása után lesz elrendezve.
Example
Lásd a példát a CListCtrl::GetItemPosition.
CListCtrl::SetItemState
Egy listanézet vezérlőelem egy elemének állapotát módosítja.
BOOL SetItemState(
int nItem,
LVITEM* pItem);
BOOL SetItemState(
int nItem,
UINT nState,
UINT nMask);
Paraméterek
nItem
Annak az elemnek az indexe, amelynek állapotát be kell állítani. Adjon át -1 az állapotváltozás minden elemre való alkalmazásához.
pItem
Egy LVITEM struktúra címe a Windows SDK-ban leírtak szerint. A struktúra tagja stateMask határozza meg, hogy mely állapotbiteket kell módosítani, és a struktúra tagja state tartalmazza az új értékeket ezekhez a bitekhez. A többi tagot figyelmen kívül hagyja a rendszer.
nState
Az állapotbitek új értékei. A lehetséges értékek listáját lásd CListCtrl::GetNextItem és az LVITEM államtagot.
nMask
Maszk, amely megadja, hogy mely állapotbiteket kell módosítani. Ez az érték a struktúra stateMask tagjának felel meg LVITEM .
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
Az elem állapota olyan érték, amely meghatározza az elem rendelkezésre állását, jelzi a felhasználói műveleteket, vagy más módon tükrözi az elem állapotát. A listanézet-vezérlő módosít néhány állapotbitet, például amikor a felhasználó kiválaszt egy elemet. Előfordulhat, hogy egy alkalmazás más állapotbiteket módosít az elem letiltásához vagy elrejtéséhez, illetve egy átfedő lemezkép vagy állapotkép megadásához.
Example
Lásd a példát a CListCtrl::GetTopIndex.
CListCtrl::SetItemText
Listanézet elemének vagy alelemének szövegét módosítja.
BOOL SetItemText(
int nItem,
int nSubItem,
LPCTSTR lpszText);
Paraméterek
nItem
Annak az elemnek az indexe, amelynek a szövegét be kell állítani.
nSubItem
Az alelem indexe, vagy nulla az elemcímke beállításához.
lpszText
Mutasson egy sztringre, amely az új elem szövegét tartalmazza.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
Ez a módszer nem az ablakstílust tartalmazó LVS_OWNERDATA vezérlőkhöz használható (valójában ez a hibakeresési buildek helyességéhez vezet). A listavezérlő stílusával kapcsolatos további információkért lásd List-View Vezérlők áttekintése című témakört.
Example
Lásd a példát a CListCtrl::InsertItem.
CListCtrl::SetOutlineColor
A listanézet vezérlőelem szegélyének színét adja meg, ha a LVS_EX_BORDERSELECT kiterjesztett ablakstílus be van állítva.
COLORREF SetOutlineColor(COLORREF color);
Paraméterek
color
A szerkezeti színt tartalmazó új COLORREF struktúra.
Visszaadott érték
A szerkezeti színt tartalmazó előző COLORREF struktúra
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_SETOUTLINECOLOR üzenet funkcióit.
CListCtrl::SetSelectedColumn
A listanézet vezérlőelem kijelölt oszlopának beállítása.
LRESULT SetSelectedColumn(int iCol);
Paraméterek
iCol
A kijelölendő oszlop indexe.
Visszaadott érték
A visszatérési érték nem használatos.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_SETSELECTEDCOLUMN üzenet funkcióit.
CListCtrl::SetSelectionMark
Egy listanézet vezérlőelem kijelölési jelének beállítása.
int SetSelectionMark(int iIndex);
Paraméterek
iIndex
A többszörös kijelölés első elemének nullaalapú indexe.
Visszaadott érték
Az előző kijelölési jel, vagy -1, ha nem volt kijelölőjel.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_SetSelectionMarkWindows SDK-ban leírtak szerint.
Example
Lásd a példát a CListCtrl::GetSelectionMark.
CListCtrl::SetTextBkColor
Beállítja a szöveg háttérszínét egy listanézet vezérlőelemben.
BOOL SetTextBkColor(COLORREF cr);
Paraméterek
cr
Az COLORREF új szöveg háttérszínének megadása. További információt a Windows SDK-ban talál COLORREF .
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Example
// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetTextBkColor(crBkColor);
ASSERT(m_myListCtrl.GetTextBkColor() == crBkColor);
CListCtrl::SetTextColor
A listanézet vezérlőelem szövegszínét állítja be.
BOOL SetTextColor(COLORREF cr);
Paraméterek
cr
Az COLORREF új szövegszín megadása. További információt a Windows SDK-ban talál COLORREF .
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Example
// Use the window text color for
// the item text of the list view control.
COLORREF crTextColor = ::GetSysColor(COLOR_WINDOWTEXT);
m_myListCtrl.SetTextColor(crTextColor);
ASSERT(m_myListCtrl.GetTextColor() == crTextColor);
CListCtrl::SetTileInfo
Beállítja a listanézet-vezérlő csempéjének adatait.
BOOL SetTileInfo(PLVTILEINFO pTileInfo);
Paraméterek
pTileInfo
A beállítandó információkat tartalmazó struktúra mutatója LVTILEINFO .
Visszaadott érték
TRUE
FALSE Sikeres, sikertelen eredmény.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_SETTILEINFO üzenet funkcióit.
CListCtrl::SetTileViewInfo
Beállítja azokat az információkat, amelyeket egy listanézet-vezérlő használ csempenézetben.
BOOL SetTileViewInfo(PLVTILEVIEWINFO ptvi);
Paraméterek
ptvi
A beállítandó LVTILEVIEWINFO információkat tartalmazó struktúra mutatója.
Visszaadott érték
TRUE
FALSE Sikeres, sikertelen eredmény.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_SETTILEVIEWINFO üzenet funkcióit.
CListCtrl::SetToolTips
Beállítja azt az elemleírás-vezérlőt, amelyet a listanézet vezérlője használ az elemleírások megjelenítéséhez.
CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);
Paraméterek
pWndTip
Mutató egy CToolTipCtrl olyan objektumra, amelyet a listavezérlő használni fog.
Visszaadott érték
Mutató egy CToolTipCtrl olyan objektumra, amely tartalmazza a vezérlő által korábban használt elemleírást, vagy NULL ha korábban nem használtak elemleírásokat.
Megjegyzések
Ez a tagfüggvény implementálja a Win32-üzenet LVM_SETTOOLTIPSviselkedését a Windows SDK-ban leírtak szerint.
Ha nem szeretne elemleírásokat használni, jelölje meg a LVS_NOTOOLTIPS stílust az CListCtrl objektum létrehozásakor.
CListCtrl::SetView
Beállítja a listanézet vezérlőelem nézetét.
DWORD SetView(int iView);
Paraméterek
iView
A kijelölendő nézet.
Visszaadott érték
Sikeres esetben 1 értéket ad vissza, vagy más -1. Ha például a nézet érvénytelen, -1 ad vissza.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_SETVIEW üzenet funkcióit.
CListCtrl::SetWorkAreas
Beállítja azt a területet, ahol az ikonok megjeleníthetők a listanézet vezérlőjében.
void SetWorkAreas(
int nWorkAreas,
LPRECT lpRect);
Paraméterek
nWorkAreas
A tömb által mutatott lpRectstruktúrák (vagy CRect objektumok) számaRECT.
lpRect
A listanézet vezérlőelem új munkaterületeit meghatározó struktúrák (vagy CRect objektumok) tömbjének RECT címe. Ezeket a területeket meg kell adni az ügyfélkoordinátákban. Ha ez a paraméter, NULLa munkaterület a vezérlő ügyfélterületére lesz beállítva.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_SetWorkAreasWindows SDK-ban leírtak szerint.
Example
// Remove all working areas.
m_myListCtrl.SetWorkAreas(0, NULL);
CListCtrl::SortGroups
Egy alkalmazás által definiált összehasonlító függvény használatával rendezi a csoportokat azonosító alapján egy listanézet-vezérlőn belül.
BOOL SortGroups(
PFNLVGROUPCOMPARE _pfnGroupCompare,
LPVOID _plv);
Paraméterek
_pfnGroupCompare
Mutató a csoport-összehasonlító függvényre.
_plv
Üres mutató.
Visszaadott érték
TRUE
FALSE Sikeres, sikertelen eredmény.
Megjegyzések
Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az LVM_SORTGROUPS üzenet funkcióit.
CListCtrl::SortItems
A listanézet elemeit alkalmazás által definiált összehasonlító függvény használatával rendezi.
BOOL SortItems(
PFNLVCOMPARE pfnCompare,
DWORD_PTR dwData);
Paraméterek
pfnCompare
[in] Az alkalmazás által definiált összehasonlító függvény címe.
A rendezési művelet minden alkalommal meghívja az összehasonlító függvényt, amikor két listaelem relatív sorrendjét kell meghatározni. Az összehasonlító függvénynek egy osztály statikus tagjának vagy önálló függvénynek kell lennie, amely nem tagja egyik osztálynak sem.
dwData
[in] Az összehasonlító függvénynek átadott alkalmazás által definiált érték.
Visszaadott érték
TRUE ha a módszer sikeres; egyéb esetben FALSE.
Megjegyzések
Ez a módszer az egyes elemek indexét az új sorozatnak megfelelően módosítja.
Az összehasonlító függvény pfnComparea következő űrlapot tartalmazza:
int CALLBACK CompareFunc(LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
Az összehasonlító függvénynek negatív értéket kell visszaadnia, ha az első elemnek meg kell előznie a másodikat, pozitív értéket, ha az első elemnek a másodikat kell követnie, vagy nullát, ha a két elem egyenlő.
A lParam1 paraméter az első összehasonlított elemhez társított 32 bites érték (x64 esetén 64 bites), a lParam2 paraméter pedig a második elemhez társított érték. Ezek azok az értékek, amelyek az lParam elemek LVITEM szerkezetének tagjában lettek megadva, amikor be lettek szúrva a listába. A lParamSort paraméter megegyezik az dwData értékkel.
Ez a metódus elküldi a LVM_SORTITEMS Windows SDK-ban leírt üzenetet.
Example
Az alábbiakban egy egyszerű összehasonlító függvényt mutatunk be, amely azt eredményezi, hogy az elemek az értékük lParam szerint lesznek rendezve.
// Sort items by associated lParam
int CALLBACK CListCtrlDlg::MyCompareProc(LPARAM lParam1, LPARAM lParam2,
LPARAM lParamSort)
{
UNREFERENCED_PARAMETER(lParamSort);
return (int)(lParam1 - lParam2);
}
// Sort the items by passing in the comparison function.
void CListCtrlDlg::Sort()
{
m_myListCtrl.SortItems(&CListCtrlDlg::MyCompareProc, 0);
}
CListCtrl::SortItemsEx
Az aktuális listanézet-vezérlő elemeit egy alkalmazás által definiált összehasonlító függvény használatával rendezi.
BOOL SortItemsEx(
PFNLVCOMPARE pfnCompare,
DWORD_PTR dwData);
Paraméterek
pfnCompare
[in] Az alkalmazás által definiált összehasonlító függvény címe. A rendezési művelet minden alkalommal meghívja az összehasonlító függvényt, amikor két listaelem relatív sorrendjét kell meghatározni. Az összehasonlító függvénynek egy osztály statikus tagjának vagy önálló függvénynek kell lennie, amely nem tagja egyik osztálynak sem.
dwData
[in] Az összehasonlító függvénynek átadott alkalmazás által definiált érték.
Visszaadott érték
TRUEha ez a módszer sikeres; egyéb esetben. FALSE
Megjegyzések
Ez a módszer az egyes elemek indexét az új sorozatnak megfelelően módosítja.
Az összehasonlító függvény pfnComparea következő űrlapot tartalmazza:
int CALLBACK CompareFunc(LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
Ez az üzenet az összehasonlító függvénynek átadott információk típusának kivételével hasonló LVM_SORTITEMS. In LVM_SORTITEMSés lParam1lParam2 are the values of the items to compare. Ebben LVM_SORTITEMSEXaz esetben az első összehasonlítandó elem aktuális indexe, és lParam2 a második elem aktuális indexelParam1. Az elemről további információt lekérhet LVM_GETITEMTEXT üzenetben.
Az összehasonlító függvénynek negatív értéket kell visszaadnia, ha az első elemnek meg kell előznie a másodikat, pozitív értéket, ha az első elemnek a másodikat kell követnie, vagy nullát, ha a két elem egyenlő.
Megjegyzés:
A rendezési folyamat során a listanézet tartalma instabil. Ha a visszahívási függvény nem a listanézet vezérlőelemnek LVM_GETITEMküld üzeneteket, az eredmények kiszámíthatatlanok.
Ez a metódus elküldi a LVM_SORTITEMSEX Windows SDK-ban leírt üzenetet.
Example
Az első példakód egy változót határoz meg, m_listCtrlamely az aktuális listanézet-vezérlő elérésére szolgál. Ezt a változót a következő példában használjuk.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
A következő példakód a metódust SortItemEx mutatja be. A kód példájának egy korábbi szakaszában létrehoztunk egy listanézet-vezérlőt, amely jelentésnézetben két oszlopot jelenít meg "ClientID" és "Grade" (Ügyfélazonosító) és "Grade" (Osztályzat) címmel. Az alábbi példakód a "Grade" oszlop értékeit használva rendezi a táblázatot.
// The ListCompareFunc() method is a global function used by SortItemEx().
int CALLBACK ListCompareFunc(
LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort)
{
CListCtrl* pListCtrl = (CListCtrl*) lParamSort;
CString strItem1 = pListCtrl->GetItemText(static_cast<int>(lParam1), 1);
CString strItem2 = pListCtrl->GetItemText(static_cast<int>(lParam2), 1)
int x1 = _tstoi(strItem1.GetBuffer());
int x2 = _tstoi(strItem2.GetBuffer());
int result = 0;
if ((x1 - x2) < 0)
result = -1;
else if ((x1 - x2) == 0)
result = 0;
else
result = 1;
return result;
}
void CCListCtrl_s2Dlg::OnBnClickedButton1()
{
// SortItemsEx
m_listCtrl.SortItemsEx( ListCompareFunc, (LPARAM)&m_listCtrl );
}
CListCtrl::SubItemHitTest
Meghatározza, hogy melyik listanézetelem (ha van ilyen) adott pozícióban van.
int SubItemHitTest(LPLVHITTESTINFO pInfo);
Paraméterek
pInfo
A szerkezetre mutató LVHITTESTINFO mutató.
Visszaadott érték
A vizsgált elem vagy alelem egy-alapú indexe (ha van ilyen), vagy más -1.
Megjegyzések
Ez a tagfüggvény implementálja a Win32 makró viselkedését a ListView_SubItemHitTestWindows SDK-ban leírtak szerint.
Example
void CListCtrlDlg::OnDblClk(NMHDR* pNMHDR, LRESULT* pResult)
{
UNREFERENCED_PARAMETER(pResult);
LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
LVHITTESTINFO lvhti;
// Clear the subitem text the user clicked on.
lvhti.pt = pia->ptAction;
m_myListCtrl.SubItemHitTest(&lvhti);
if (lvhti.flags & LVHT_ONITEMLABEL)
{
m_myListCtrl.SetItemText(lvhti.iItem, lvhti.iSubItem, NULL);
}
}
CListCtrl::Update
A listanézet vezérlőjének kényszerítése a megadott nItemelem újrafestésére.
BOOL Update(int nItem);
Paraméterek
nItem
A frissíteni kívánt elem indexe.
Visszaadott érték
Nonzero, ha sikeres; ellenkező esetben nulla.
Megjegyzések
Ez a függvény a listanézet vezérlőt is rendezi, ha stílussal rendelkezik LVS_AUTOARRANGE .
Example
Lásd a példát a CListCtrl::GetSelectedCount.
Lásd még
MFC-minta SORLISTA
CWnd osztály
hierarchiadiagram
CImageList osztály