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


CListCtrl osztály

Megjegyzés:

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

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álataCListCtrl.

  • 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

CObject

CCmdTarget

CWnd

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_ALIGNLEFT Az elemeket az ablak bal széle mentén igazítja.
  • LVA_ALIGNTOP Az elemeket az ablak felső széle mentén igazítja.
  • LVA_DEFAULT A listanézet aktuális igazítási stílusainak (az alapértelmezett értéknek) megfelelően igazítja az elemeket.
  • LVA_SNAPTOGRID Az ö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_NORMAL Képlista nagy ikonokkal.
  • LVSIL_SMALL Ké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_BOUNDS A teljes elem határoló téglalapját adja vissza, beleértve az ikont és a címkét is.
  • LVIR_ICON Az ikon vagy a kis ikon határoló téglalapját adja vissza.
  • LVIR_LABEL Az 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_ABOVE Olyan elemet keres, amely a megadott elem felett található.
  • LVNI_ALL Egy későbbi elemet keres index szerint (az alapértelmezett érték).
  • LVNI_BELOW Olyan elemet keres, amely a megadott elem alatt található.
  • LVNI_TOLEFT A megadott elem bal oldalán keres egy elemet.
  • LVNI_TORIGHT A megadott elem jobb oldalán keres egy elemet.

Az állapot lehet nulla, vagy egy vagy több ilyen érték is lehet:

  • LVNI_DROPHILITED Az elemhez az LVIS_DROPHILITED állapotjelző van beállítva.
  • LVNI_FOCUSED Az elemhez az LVIS_FOCUSED állapotjelző van beállítva.
  • LVNI_SELECTED Az elemhez az LVIS_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_BOUNDS A teljes elem határoló téglalapját adja vissza, beleértve az ikont és a címkét is.
  • LVIR_ICON Az ikon vagy a kis ikon határoló téglalapját adja vissza.
  • LVIR_LABEL A teljes elem határoló téglalapját adja vissza, beleértve az ikont és a címkét is. Ez megegyezik a LVIR_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_NORMAL Képlista nagy ikonokkal.
  • LVSIL_SMALL Ké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_TEXT A pszText tag vagy a lpszItem paraméter egy null értékű sztring címe; a rendszer figyelmen kívül hagyja a cchTextMax tagot.
  • LVIF_STATE A stateMask tag vagy nStateMask paraméter megadja, hogy mely elemállapotok változnak, és a state tag vagy nState paramé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_NOINVALIDATEALL A listanézet vezérlőelem csak akkor lesz újrafestve, ha az érintett elemek jelenleg nézetben vannak. Ez az alapértelmezett érték.
  • LVSICF_NOSCROLL A 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