Sdílet prostřednictvím


CListCtrl Třída

Zapouzdřuje funkce ovládacího prvku zobrazení seznamu, který zobrazuje kolekci položek, které se skládají z ikony (ze seznamu obrázků) a popisku.

Syntaxe

class CListCtrl : public CWnd

Členové

Veřejné konstruktory

Název Popis
CListCtrl::CListCtrl CListCtrl Vytvoří objekt.

Veřejné metody

Název Popis
CListCtrl::ApproximateViewRect Určuje šířku a výšku potřebnou k zobrazení položek ovládacího prvku zobrazení seznamu.
CListCtrl::Arrange Zarovná položky do mřížky.
CListCtrl::CancelEditLabel Zruší operaci úprav textu položky.
CListCtrl::Create Vytvoří ovládací prvek seznamu a připojí ho k objektu CListCtrl .
CListCtrl::CreateDragImage Vytvoří seznam obrázků přetažení pro zadanou položku.
CListCtrl::CreateEx Vytvoří ovládací prvek seznamu se zadanými rozšířenými styly Windows a připojí ho k objektu CListCtrl .
CListCtrl::DeleteAllItems Odstraní všechny položky z ovládacího prvku.
CListCtrl::DeleteColumn Odstraní sloupec z ovládacího prvku zobrazení seznamu.
CListCtrl::DeleteItem Odstraní položku z ovládacího prvku.
CListCtrl::DrawItem Volá se, když se změní vizuální aspekt ovládacího prvku pro kreslení vlastníka.
CListCtrl::EditLabel Začíná místní úpravy textu položky.
CListCtrl::EnableGroupView Povolí nebo zakáže, zda se položky v ovládacím prvku zobrazení seznamu zobrazují jako skupina.
CListCtrl::EnsureVisible Zajišťuje, že je položka viditelná.
CListCtrl::FindItem Vyhledá položku zobrazení seznamu se zadanými vlastnostmi.
CListCtrl::GetBkColor Načte barvu pozadí ovládacího prvku zobrazení seznamu.
CListCtrl::GetBkImage Načte aktuální obrázek pozadí ovládacího prvku zobrazení seznamu.
CListCtrl::GetCallbackMask Načte masku zpětného volání pro ovládací prvek zobrazení seznamu.
CListCtrl::GetCheck Načte aktuální stav zobrazení obrázku stavu přidruženého k položce.
CListCtrl::GetColumn Načte atributy sloupce ovládacího prvku.
CListCtrl::GetColumnOrderArray Načte pořadí sloupců (zleva doprava) ovládacího prvku zobrazení seznamu.
CListCtrl::GetColumnWidth Načte šířku sloupce v zobrazení sestavy nebo zobrazení seznamu.
CListCtrl::GetCountPerPage Vypočítá počet položek, které se dají svisle umístit do ovládacího prvku zobrazení seznamu.
CListCtrl::GetEditControl Načte popisovač ovládacího prvku pro úpravy použitý k úpravě textu položky.
CListCtrl::GetEmptyText Načte řetězec, který se zobrazí, pokud je aktuální ovládací prvek zobrazení seznamu prázdný.
CListCtrl::GetExtendedStyle Načte aktuální rozšířené styly ovládacího prvku zobrazení seznamu.
CListCtrl::GetFirstSelectedItemPosition Načte pozici první vybrané položky zobrazení seznamu v ovládacím prvku zobrazení seznamu.
CListCtrl::GetFocusedGroup Načte skupinu, která má fokus klávesnice v aktuálním ovládacím prvku zobrazení seznamu.
CListCtrl::GetGroupCount Načte počet skupin v aktuálním ovládacím prvku zobrazení seznamu.
CListCtrl::GetGroupInfo Získá informace pro zadanou skupinu ovládacího prvku zobrazení seznamu.
CListCtrl::GetGroupInfoByIndex Načte informace o zadané skupině v aktuálním ovládacím prvku zobrazení seznamu.
CListCtrl::GetGroupMetrics Načte metriky skupiny.
CListCtrl::GetGroupRect Načte ohraničující obdélník pro zadanou skupinu v aktuálním ovládacím prvku zobrazení seznamu.
CListCtrl::GetGroupState Načte stav pro zadanou skupinu v aktuálním ovládacím prvku zobrazení seznamu.
CListCtrl::GetHeaderCtrl Načte ovládací prvek záhlaví ovládacího prvku zobrazení seznamu.
CListCtrl::GetHotCursor Načte kurzor použitý při aktivní sledování pro ovládací prvek zobrazení seznamu.
CListCtrl::GetHotItem Načte položku zobrazení seznamu, která je aktuálně pod kurzorem.
CListCtrl::GetHoverTime Načte aktuální čas přechodu ovládacího prvku zobrazení seznamu.
CListCtrl::GetImageList Načte popisovač seznamu obrázků použitý pro položky zobrazení seznamu výkresu.
CListCtrl::GetInsertMark Načte aktuální pozici značky vložení.
CListCtrl::GetInsertMarkColor Načte aktuální barvu značky vložení.
CListCtrl::GetInsertMarkRect Načte obdélník, který ohraničuje kurzor.
CListCtrl::GetItem Načte atributy položky zobrazení seznamu.
CListCtrl::GetItemCount Načte počet položek v ovládacím prvku zobrazení seznamu.
CListCtrl::GetItemData Načte hodnotu specifickou pro aplikaci přidruženou k položce.
CListCtrl::GetItemIndexRect Načte ohraničující obdélník pro celý nebo část dílčího prvku v aktuálním ovládacím prvku zobrazení seznamu.
CListCtrl::GetItemPosition Načte pozici položky zobrazení seznamu.
CListCtrl::GetItemRect Načte ohraničující obdélník položky.
CListCtrl::GetItemSpacing Vypočítá mezery mezi položkami v aktuálním ovládacím prvku zobrazení seznamu.
CListCtrl::GetItemState Načte stav položky zobrazení seznamu.
CListCtrl::GetItemText Načte text položky zobrazení seznamu nebo dílčí položky.
CListCtrl::GetNextItem Vyhledá položku zobrazení seznamu se zadanými vlastnostmi a se zadaným vztahem k dané položce.
CListCtrl::GetNextItemIndex Načte index položky v aktuálním ovládacím prvku zobrazení seznamu, který má zadanou sadu vlastností.
CListCtrl::GetNextSelectedItem Načte index pozice položky zobrazení seznamu a pozici další vybrané položky zobrazení seznamu pro iteraci.
CListCtrl::GetNumberOfWorkAreas Načte aktuální počet pracovních oblastí pro ovládací prvek zobrazení seznamu.
CListCtrl::GetOrigin Načte aktuální zdroj zobrazení pro ovládací prvek zobrazení seznamu.
CListCtrl::GetOutlineColor Načte barvu ohraničení ovládacího prvku zobrazení seznamu.
CListCtrl::GetSelectedColumn Načte index aktuálně vybraného sloupce v ovládacím prvku seznam.
CListCtrl::GetSelectedCount Načte počet vybraných položek v ovládacím prvku zobrazení seznamu.
CListCtrl::GetSelectionMark Načte značku výběru ovládacího prvku zobrazení seznamu.
CListCtrl::GetStringWidth Určuje minimální šířku sloupce potřebnou k zobrazení veškerého daného řetězce.
CListCtrl::GetSubItemRect Načte ohraničující obdélník položky v ovládacím prvku zobrazení seznamu.
CListCtrl::GetTextBkColor Načte barvu pozadí textu ovládacího prvku zobrazení seznamu.
CListCtrl::GetTextColor Načte barvu textu ovládacího prvku zobrazení seznamu.
CListCtrl::GetTileInfo Načte informace o dlaždici v ovládacím prvku zobrazení seznamu.
CListCtrl::GetTileViewInfo Načte informace o ovládacím prvku zobrazení seznamu v zobrazení dlaždic.
CListCtrl::GetToolTips Načte ovládací prvek popisu, který ovládací prvek zobrazení seznamu používá k zobrazení popisů.
CListCtrl::GetTopIndex Načte index nejvíce viditelné položky.
CListCtrl::GetView Získá zobrazení ovládacího prvku zobrazení seznamu.
CListCtrl::GetViewRect Načte ohraničující obdélník všech položek v ovládacím prvku zobrazení seznamu.
CListCtrl::GetWorkAreas Načte aktuální pracovní oblasti ovládacího prvku zobrazení seznamu.
CListCtrl::HasGroup Určuje, zda ovládací prvek zobrazení seznamu má zadanou skupinu.
CListCtrl::HitTest Určuje, která položka zobrazení seznamu je na zadané pozici.
CListCtrl::InsertColumn Vloží nový sloupec do ovládacího prvku zobrazení seznamu.
CListCtrl::InsertGroup Vloží skupinu do ovládacího prvku zobrazení seznamu.
CListCtrl::InsertGroupSorted Vloží zadanou skupinu do seřazeného seznamu skupin.
CListCtrl::InsertItem Vloží novou položku do ovládacího prvku zobrazení seznamu.
CListCtrl::InsertMarkHitTest Načte kurzor nejblíže zadanému bodu.
CListCtrl::IsGroupViewEnabled Určuje, zda je pro ovládací prvek zobrazení seznamu povoleno zobrazení skupiny.
CListCtrl::IsItemVisible Určuje, zda je zobrazena zadaná položka v aktuálním ovládacím prvku zobrazení seznamu.
CListCtrl::MapIDToIndex Mapuje jedinečné ID položky v aktuálním ovládacím prvku zobrazení seznamu na index.
CListCtrl::MapIndexToID Mapuje index položky v aktuálním ovládacím prvku zobrazení seznamu na jedinečné ID.
CListCtrl::MoveGroup Přesune zadanou skupinu.
CListCtrl::MoveItemToGroup Přesune zadanou skupinu do zadaného nulového indexu ovládacího prvku zobrazení seznamu.
CListCtrl::RedrawItems Vynutí ovládací prvek zobrazení seznamu k překreslení rozsahu položek.
CListCtrl::RemoveAllGroups Odebere všechny skupiny z ovládacího prvku zobrazení seznamu.
CListCtrl::RemoveGroup Odebere zadanou skupinu z ovládacího prvku zobrazení seznamu.
CListCtrl::Scroll Posune obsah ovládacího prvku zobrazení seznamu.
CListCtrl::SetBkColor Nastaví barvu pozadí ovládacího prvku zobrazení seznamu.
CListCtrl::SetBkImage Nastaví aktuální obrázek pozadí ovládacího prvku zobrazení seznamu.
CListCtrl::SetCallbackMask Nastaví masku zpětného volání pro ovládací prvek zobrazení seznamu.
CListCtrl::SetCheck Nastaví aktuální stav zobrazení obrázku stavu přidruženého k položce.
CListCtrl::SetColumn Nastaví atributy sloupce zobrazení seznamu.
CListCtrl::SetColumnOrderArray Nastaví pořadí sloupců (zleva doprava) ovládacího prvku zobrazení seznamu.
CListCtrl::SetColumnWidth Změní šířku sloupce v zobrazení sestavy nebo zobrazení seznamu.
CListCtrl::SetExtendedStyle Nastaví aktuální rozšířené styly ovládacího prvku zobrazení seznamu.
CListCtrl::SetGroupInfo Nastaví informace pro zadanou skupinu ovládacího prvku zobrazení seznamu.
CListCtrl::SetGroupMetrics Nastaví metriky skupiny ovládacího prvku zobrazení seznamu.
CListCtrl::SetHotCursor Nastaví kurzor použitý při aktivní sledování pro ovládací prvek zobrazení seznamu.
CListCtrl::SetHotItem Nastaví aktuální aktivní položku ovládacího prvku zobrazení seznamu.
CListCtrl::SetHoverTime Nastaví aktuální čas přechodu ovládacího prvku zobrazení seznamu.
CListCtrl::SetIconSpacing Nastaví mezery mezi ikonami v ovládacím prvku zobrazení seznamu.
CListCtrl::SetImageList Přiřadí seznam obrázků k ovládacímu prvku zobrazení seznamu.
CListCtrl::SetInfoTip Nastaví text popisu.
CListCtrl::SetInsertMark Nastaví kurzor na definovanou pozici.
CListCtrl::SetInsertMarkColor Nastaví barvu kurzoru.
CListCtrl::SetItem Nastaví některé nebo všechny atributy položky zobrazení seznamu.
CListCtrl::SetItemCount Připraví ovládací prvek zobrazení seznamu pro přidání velkého počtu položek.
CListCtrl::SetItemCountEx Nastaví počet položek pro ovládací prvek zobrazení virtuálního seznamu.
CListCtrl::SetItemData Nastaví hodnotu specifickou pro aplikaci položky.
CListCtrl::SetItemIndexState Nastaví stav položky v aktuálním ovládacím prvku zobrazení seznamu.
CListCtrl::SetItemPosition Přesune položku na zadanou pozici v ovládacím prvku zobrazení seznamu.
CListCtrl::SetItemState Změní stav položky v ovládacím prvku zobrazení seznamu.
CListCtrl::SetItemText Změní text položky zobrazení seznamu nebo dílčí položky.
CListCtrl::SetOutlineColor Nastaví barvu ohraničení ovládacího prvku zobrazení seznamu.
CListCtrl::SetSelectedColumn Nastaví vybraný sloupec ovládacího prvku zobrazení seznamu.
CListCtrl::SetSelectionMark Nastaví značku výběru ovládacího prvku zobrazení seznamu.
CListCtrl::SetTextBkColor Nastaví barvu pozadí textu v ovládacím prvku zobrazení seznamu.
CListCtrl::SetTextColor Nastaví barvu textu ovládacího prvku zobrazení seznamu.
CListCtrl::SetTileInfo Nastaví informace pro dlaždici ovládacího prvku zobrazení seznamu.
CListCtrl::SetTileViewInfo Nastaví informace, které ovládací prvek zobrazení seznamu používá v zobrazení dlaždic.
CListCtrl::SetToolTips Nastaví ovládací prvek popisu, který bude ovládací prvek zobrazení seznamu používat k zobrazení popisů.
CListCtrl::SetView Nastaví zobrazení ovládacího prvku zobrazení seznamu.
CListCtrl::SetWorkAreas Nastaví oblast, kde se ikony dají zobrazit v ovládacím prvku zobrazení seznamu.
CListCtrl::SortGroups Seřadí skupiny ovládacího prvku zobrazení seznamu pomocí uživatelem definované funkce.
CListCtrl::SortItems Seřadí položky zobrazení seznamu pomocí funkce porovnání definované aplikací.
CListCtrl::SortItemsEx Seřadí položky zobrazení seznamu pomocí funkce porovnání definované aplikací.
CListCtrl::SubItemHitTest Určuje, která položka zobrazení seznamu je v případě potřeby na dané pozici.
CListCtrl::Update Vynutí ovládací prvek překreslit zadanou položku.

Poznámky

Kromě ikony a popisku může každá položka obsahovat informace zobrazené ve sloupcích napravo od ikony a popisku. Tento ovládací prvek (a proto CListCtrl třída) je k dispozici pouze pro programy spuštěné v systémech Windows 95/98 a systém Windows NT verze 3.51 a novější.

Následuje stručný přehled CListCtrl třídy. Podrobnou koncepční diskuzi najdete v tématu Použití CListCtrl a ovládací prvky.

Zobrazení

Ovládací prvky zobrazení seznamu můžou zobrazit jejich obsah čtyřmi různými způsoby, označované jako zobrazení.

  • Zobrazení ikon

    Každá položka se zobrazí jako ikona plné velikosti (32 x 32 pixelů) s popiskem pod ním. Uživatel může přetáhnout položky do libovolného umístění v okně zobrazení seznamu.

  • Malé zobrazení ikon

    Každá položka se zobrazí jako malá ikona (16 x 16 pixelů) s popiskem napravo od ní. Uživatel může přetáhnout položky do libovolného umístění v okně zobrazení seznamu.

  • Zobrazení seznamu

    Každá položka se zobrazí jako malá ikona s popiskem napravo od ní. Položky jsou uspořádány ve sloupcích a nelze je přetáhnout do libovolného umístění v okně zobrazení seznamu.

  • Zobrazení sestavy

    Každá položka se zobrazí na vlastním řádku s dalšími informacemi uspořádanými do sloupců napravo. Sloupec úplně vlevo obsahuje malou ikonu a popisek a následné sloupce obsahují dílčí položky určené aplikací. Vložený ovládací prvek záhlaví (třída CHeaderCtrl) implementuje tyto sloupce. Další informace o ovládacím prvku záhlaví a sloupcích v zobrazení sestavy najdete v tématu PoužitíCListCtrl: Přidání sloupců do ovládacího prvku (zobrazení sestavy).

Styl aktuálního zobrazení seznamu ovládacího prvku určuje aktuální zobrazení. Další informace o těchto stylech a jejich použití najdete v tématu Použití CListCtrl: Změna stylů ovládacích prvků seznamu.

Rozšířené styly

Kromě standardních stylů seznamů třída CListCtrl podporuje velkou sadu rozšířených stylů a poskytuje rozšířené funkce. Mezi příklady této funkce patří:

  • Výběr přechodu myší

    Pokud je tato možnost povolená, umožňuje automatický výběr položky, když kurzor po určitou dobu zůstane nad položkou.

  • Zobrazení virtuálních seznamů

    Pokud je tato možnost povolená, umožňuje ovládacímu prvku podporovat až položky DWORD. To je možné umístěním režie související se správou dat položek v aplikaci. S výjimkou výběru položky a informací o fokusu musí být všechny informace o položce spravovány aplikací. Další informace naleznete v tématu Použití CListCtrl: Virtuální seznam ovládacích prvků.

  • Aktivace jedním a dvěma kliknutími

    Pokud je tato možnost povolená, povolí sledování za tepla (automatické zvýraznění textu položky) a aktivaci zvýrazněné položky jedním nebo dvěma kliknutími.

  • Řazení sloupců přetažením

    Pokud je tato možnost povolená, umožňuje přetahování sloupců v ovládacím prvku zobrazení seznamu přeuspořádat. K dispozici pouze v zobrazení sestavy.

Informace o použití těchto nových rozšířených stylů naleznete v tématu Použití CListCtrl: Změna stylů ovládacích prvků seznamu.

Položky a podřízené položky

Každá položka v ovládacím prvku zobrazení seznamu se skládá z ikony (ze seznamu obrázků), popisku, aktuálního stavu a hodnoty definované aplikací (označované jako "data položek"). Ke každé položce může být přidružena také jedna nebo více dílčích položek. Podnabídka je řetězec, který lze v zobrazení sestavy zobrazit ve sloupci napravo od ikony a popisku položky. Všechny položky v ovládacím prvku zobrazení seznamu musí mít stejný počet dílčích položek.

Třída CListCtrl poskytuje několik funkcí pro vkládání, odstraňování, hledání a úpravy těchto položek. Další informace naleznete v tématu CListCtrl::GetItem, a CListCtrl::InsertItemCListCtrl::FindItem, přidání položek do ovládacího prvku a posouvání, uspořádání, řazení a hledání v ovládacích prvcích seznamu.

Ve výchozím nastavení je ovládací prvek zobrazení seznamu zodpovědný za ukládání ikon položky a atributů textu. Kromě těchto typů položek však třída CListCtrl podporuje "položky zpětného volání". Položka zpětného volání je položka zobrazení seznamu, pro kterou aplikace místo ovládacího prvku ukládá text, ikonu nebo obojí. Maska zpětného volání slouží k určení atributů položky (text a/nebo ikona), které aplikace poskytuje. Pokud aplikace používá položky zpětného volání, musí být schopná zadat atributy textu nebo ikony na vyžádání. Položky zpětného volání jsou užitečné, když už vaše aplikace některé z těchto informací udržuje. Další informace naleznete v tématu Použití CListCtrl: Položky zpětného volání a maska zpětného volání.

Seznamy obrázků

Ikony, obrázky položek záhlaví a stavy definované aplikací pro položky zobrazení seznamu jsou obsaženy v několika seznamech obrázků (implementovaných třídou CImageList), které vytvoříte a přiřadíte ovládacímu prvku zobrazení seznamu. Každý ovládací prvek zobrazení seznamu může mít až čtyři různé typy seznamů obrázků:

  • Velká ikona

    Používá se v zobrazení ikon pro ikony v plné velikosti.

  • Malá ikona

    Používá se v malých ikonách, v seznamu a v zobrazení sestavy pro menší verze ikon použitých v zobrazení ikon.

  • Stav definovaný aplikací

    Obsahuje obrázky stavu, které se zobrazí vedle ikony položky a označují tak stav definovaný aplikací.

  • Položka záhlaví

    Používá se v zobrazení sestavy pro malé obrázky, které se zobrazují v každé položce ovládacího prvku záhlaví.

Ve výchozím nastavení ovládací prvek zobrazení seznamu zničí seznamy obrázků přiřazené k němu, když je zničen; Vývojář ale toto chování může přizpůsobit zničením každého seznamu imagí, když už ho aplikace nepoužívá. Další informace naleznete v tématu Použití CListCtrl: Položky seznamu a seznamy obrázků.

Hierarchie dědičnosti

CObject

CCmdTarget

CWnd

CListCtrl

Požadavky

Záhlaví: afxcmn.h

CListCtrl::ApproximateViewRect

Určuje šířku a výšku potřebnou k zobrazení položek ovládacího prvku zobrazení seznamu.

CSize ApproximateViewRect(
    CSize sz = CSize(-1, -1),
    int iCount = -1) const;

Parametry

sz
Navrhované rozměry ovládacího prvku v pixelech. Pokud nejsou zadány rozměry, architektura používá aktuální hodnoty šířky nebo výšky ovládacího prvku.

iCount
Počet položek, které se mají zobrazit v ovládacím prvku Pokud chcete použít celkový počet položek, které jsou aktuálně v ovládacím prvku, předejte -1.

Návratová hodnota

Objekt CSize , který obsahuje přibližnou šířku a výšku potřebnou k zobrazení položek v pixelech.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_ApproximateViewRectjak je popsáno v sadě Windows SDK.

CListCtrl::Arrange

Přemísťuje položky v zobrazení ikony tak, aby se zarovnaly do mřížky.

BOOL Arrange(UINT nCode);

Parametry

nCode
Určuje styl zarovnání položek. Může to být jedna z následujících hodnot:

  • LVA_ALIGNLEFT Zarovná položky podél levého okraje okna.
  • LVA_ALIGNTOP Zarovná položky podél horního okraje okna.
  • LVA_DEFAULT Zarovná položky podle aktuálních stylů zarovnání zobrazení seznamu (výchozí hodnota).
  • LVA_SNAPTOGRID Přichytí všechny ikony k nejbližší pozici mřížky.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Parametr nCode určuje styl zarovnání.

Příklad

// 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

Zruší operaci úprav textu položky.

void CancelEditLabel();

Poznámky

Tato členová funkce emuluje funkce LVM_CANCELEDITLABEL zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::CListCtrl

CListCtrl Vytvoří objekt.

CListCtrl();

CListCtrl::Create

Vytvoří ovládací prvek seznamu a připojí ho k objektu CListCtrl .

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametry

dwStyle
Určuje styl ovládacího prvku seznamu. U ovládacího prvku použijte libovolnou kombinaci stylů ovládacích prvků seznamu. Úplný seznam těchto stylů najdete v části Styly oken zobrazení seznamu v sadě Windows SDK. Nastavte rozšířené styly specifické pro ovládací prvek pomocí SetExtendedStyle.

rect
Určuje velikost a umístění ovládacího prvku seznamu. Může to být CRect objekt nebo RECT struktura.

pParentWnd
Určuje nadřazené okno ovládacího prvku seznamu, obvykle .CDialog Nesmí mít hodnotu NULL.

nID
Určuje ID ovládacího prvku seznamu.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Sestavíte ho CListCtrl ve dvou krocích. Nejprve zavolejte konstruktor a potom volání Create, který vytvoří ovládací prvek zobrazení seznamu a připojí ho k objektu CListCtrl .

Chcete-li použít rozšířené styly Windows na objekt ovládacího prvku seznamu, místo volání CreateEx Create.

Příklad

m_myListCtrl.Create(
    WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS,
    CRect(10,10,400,200), pParentWnd, IDD_MYLISTCTRL);

CListCtrl::CreateEx

Vytvoří ovládací prvek (podřízené okno) a přidruží ho k objektu CListCtrl .

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametry

dwExStyle
Určuje rozšířený styl vytvářeného ovládacího prvku. Seznam rozšířených stylů Windows najdete v parametru dwExStyle pro CreateWindowEx sadu Windows SDK.

dwStyle
Určuje styl ovládacího prvku seznamu. U ovládacího prvku použijte libovolnou kombinaci stylů ovládacích prvků seznamu. Úplný seznam těchto stylů najdete v tématu Seznam stylů oken zobrazení v sadě Windows SDK.

rect
Odkaz na RECT strukturu popisující velikost a umístění okna, které se má vytvořit, v souřadnicích pParentWndklienta .

pParentWnd
Ukazatel na okno, které je nadřazeným objektem ovládacího prvku.

nID
ID podřízeného okna ovládacího prvku.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Create Místo CreateEx použití rozšířených stylů Windows určených předmětu WS_EX_rozšířeného stylu Windows .

CreateEx vytvoří ovládací prvek s rozšířenými styly Windows určenými dwExStyle. Chcete-li nastavit rozšířené styly specifické pro ovládací prvek, volání SetExtendedStyle. Slouží CreateEx například k nastavení takových stylů, jako je WS_EX_CONTEXTHELP, ale slouží SetExtendedStyle k nastavení takových stylů jako LVS_EX_FULLROWSELECT. Další informace naleznete ve stylech popsaných v článku Rozšířené styly zobrazení seznamu v sadě Windows SDK.

CListCtrl::CreateDragImage

Vytvoří seznam obrázků přetažení pro položku určenou položkou nItem.

CImageList* CreateDragImage(
    int nItem,
    LPPOINT lpPoint);

Parametry

*nItem*
Index položky, jejíž seznam obrázků se má vytvořit přetažením.

lpPoint
POINT Adresa struktury, která obdrží počáteční umístění levého horního rohu obrázku v souřadnicích zobrazení.

Návratová hodnota

Ukazatel na seznam obrázků přetažení v případě úspěchu; jinak NULL.

Poznámky

Objekt CImageList je trvalý a po dokončení ho musíte odstranit. Příklad:

CImageList* pImageList = m_myListCtrl.CreateDragImage(nItem, &point);

// do something

delete pImageList;

CListCtrl::DeleteAllItems

Odstraní všechny položky z ovládacího prvku zobrazení seznamu.

BOOL DeleteAllItems();

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Příklad

// Delete all of the items from the list view control.
m_myListCtrl.DeleteAllItems();
ASSERT(m_myListCtrl.GetItemCount() == 0);

CListCtrl::DeleteColumn

Odstraní sloupec z ovládacího prvku zobrazení seznamu.

BOOL DeleteColumn(int nCol);

Parametry

nCol
Index sloupce, který se má odstranit.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Příklad

int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();

// Delete all of the columns.
for (int i=0; i < nColumnCount; i++)
{
    m_myListCtrl.DeleteColumn(0);
}

CListCtrl::DeleteItem

Odstraní položku z ovládacího prvku zobrazení seznamu.

BOOL DeleteItem(int nItem);

Parametry

nItem
Určuje index položky, která se má odstranit.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Příklad

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

Volá se podle architektury, když se změní vizuální aspekt ovládacího prvku zobrazení seznamu vlastníka a kreslení.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

Parametry

lpDrawItemStruct
Dlouhý ukazatel na DRAWITEMSTRUCT strukturu, která obsahuje informace o typu požadovaného výkresu.

Poznámky

Člen itemAction DRAWITEMSTRUCT struktury definuje akci výkresu, která se má provést.

Ve výchozím nastavení tato členová funkce nic nedělá. Přepište tuto členovou funkci tak, aby implementovaly výkres pro objekt pro kreslení CListCtrl vlastníka.

Aplikace by měla obnovit všechny objekty rozhraní grafického zařízení (GDI) vybrané pro kontext zobrazení zadaný před lpDrawItemStruct ukončením této členské funkce.

CListCtrl::EditLabel

Začíná místní úpravy textu položky.

CEdit* EditLabel(int nItem);

Parametry

nItem
Index položky zobrazení seznamu, která se má upravit.

Návratová hodnota

V případě úspěchu ukazatel na CEdit objekt, který slouží k úpravě textu položky; jinak NULL.

Poznámky

Ovládací prvek zobrazení seznamu, který má LVS_EDITLABELS styl okna, umožňuje uživateli upravovat popisky položek na místě. Uživatel začne upravovat kliknutím na popisek položky, která má fokus.

Tato funkce slouží k zahájení místních úprav textu zadané položky zobrazení seznamu.

Příklad

// 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

Povolí nebo zakáže, zda se položky v ovládacím prvku zobrazení seznamu zobrazují jako skupina.

LRESULT EnableGroupView(BOOL fEnable);

Parametry

fEnable
Určuje, zda se má ovládací prvek listview povolit seskupit zobrazené položky. TRUE povolit seskupování; FALSE ho zakážete.

Návratová hodnota

Vrátí jednu z následujících hodnot:

  • 0 Možnost zobrazit položky seznamu jako skupinu je již povolena nebo zakázána.
  • 1 Stav ovládacího prvku byl úspěšně změněn.
  • -1 Operace se nezdařila.

Poznámky

Tato členová funkce emuluje funkce LVM_ENABLEGROUPVIEW zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::EnsureVisible

Zajišťuje, aby položka zobrazení seznamu byla alespoň částečně viditelná.

BOOL EnsureVisible(
    int nItem,
    BOOL bPartialOK);

Parametry

nItem
Index položky zobrazení seznamu, která má být viditelná.

bPartialOK
Určuje, jestli je částečná viditelnost přijatelná.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Ovládací prvek zobrazení seznamu se v případě potřeby posune. Pokud je parametr bPartialOK nenulový, není k dispozici žádné posouvání, pokud je položka částečně viditelná.

Příklad

// Ensure that the last item is visible.
int nCount = m_myListCtrl.GetItemCount();
if (nCount > 0)
    m_myListCtrl.EnsureVisible(nCount-1, FALSE);

CListCtrl::FindItem

Vyhledá položku zobrazení seznamu se zadanými vlastnostmi.

int FindItem(
    LVFINDINFO* pFindInfo,
    int nStart = -1) const;

Parametry

pFindInfo
Ukazatel na LVFINDINFO strukturu obsahující informace o položce, kterou chcete vyhledat.

nStart
Index položky, na které má začít hledat, nebo -1, aby začínal od začátku. Položka nStart z hledání je vyloučena, pokud nStart není rovna -1.

Návratová hodnota

Index položky, pokud je položka úspěšná nebo -1 jinak.

Poznámky

Parametr pFindInfo odkazuje na LVFINDINFO strukturu, která obsahuje informace použité k vyhledání položky zobrazení seznamu.

Příklad

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

Načte barvu pozadí ovládacího prvku zobrazení seznamu.

COLORREF GetBkColor() const;

Návratová hodnota

32bitová hodnota použitá k určení barvy RGB.

Příklad

Podívejte se na příklad pro CListCtrl::SetBkColor.

CListCtrl::GetBkImage

Načte aktuální obrázek pozadí ovládacího prvku zobrazení seznamu.

BOOL GetBkImage(LVBKIMAGE* plvbkImage) const;

Parametry

plvbkImage
Ukazatel na LVBKIMAGE strukturu obsahující aktuální obrázek pozadí zobrazení seznamu.

Návratová hodnota

Vrátí nenulové hodnoty, pokud jsou úspěšné, nebo nula v opačném případě.

Poznámky

Tato metoda implementuje chování makra Win32, ListView_GetBkImagejak je popsáno v sadě Windows SDK.

Příklad

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

Načte masku zpětného volání pro ovládací prvek zobrazení seznamu.

UINT GetCallbackMask() const;

Návratová hodnota

Maska zpětného volání ovládacího prvku zobrazení seznamu.

Poznámky

Položka zpětného volání je položka zobrazení seznamu, pro kterou aplikace místo ovládacího prvku ukládá text, ikonu nebo obojí. I když ovládací prvek zobrazení seznamu může tyto atributy uložit za vás, můžete chtít použít položky zpětného volání, pokud vaše aplikace již některé z těchto informací udržuje. Maska zpětného volání určuje, které bity stavu položek aplikace udržuje, a vztahuje se na celý ovládací prvek, nikoli na konkrétní položku. Maska zpětného volání je ve výchozím nastavení nula, což znamená, že ovládací prvek sleduje všechny stavy položek. Pokud aplikace používá položky zpětného volání nebo určuje nenulovou masku zpětného volání, musí být schopna poskytnout atributy položek zobrazení seznamu na vyžádání.

Příklad

Podívejte se na příklad pro CListCtrl::SetCallbackMask.

CListCtrl::GetCheck

Načte aktuální stav zobrazení obrázku stavu, který je přidružený k položce.

BOOL GetCheck(int nItem) const;

Parametry

nItem
Index ovládacího prvku seznamu založený na nule.

Návratová hodnota

Nenulové, pokud je položka vybrána, jinak 0.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_GetCheckStatejak je popsáno v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CListCtrl::SetCheck.

CListCtrl::GetColumn

Načte atributy sloupce ovládacího prvku zobrazení seznamu.

BOOL GetColumn(
    int nCol,
    LVCOLUMN* pColumn) const;

Parametry

nCol
Index sloupce, jehož atributy se mají načíst.

pColumn
LVCOLUMN Adresa struktury, která určuje informace pro načtení a příjem informací o sloupci. Člen mask určuje, které atributy sloupce se mají načíst. mask Pokud člen určuje hodnotu LVCF_TEXT, pszText člen musí obsahovat adresu vyrovnávací paměti, která přijímá text položky a cchTextMax člen musí zadat velikost vyrovnávací paměti.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Struktura LVCOLUMN obsahuje informace o sloupci v zobrazení sestavy.

Příklad

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

Načte pořadí sloupců (zleva doprava) ovládacího prvku zobrazení seznamu.

BOOL GetColumnOrderArray(
    LPINT piArray,
    int iCount = -1);

Parametry

piArray
Ukazatel na vyrovnávací paměť, která bude obsahovat hodnoty indexu sloupců v ovládacím prvku zobrazení seznamu. Vyrovnávací paměť musí být dostatečně velká, aby obsahovala celkový počet sloupců v ovládacím prvku zobrazení seznamu.

iCount
Počet sloupců v ovládacím prvku zobrazení seznamu Pokud je tento parametr -1, počet sloupců se automaticky načte rozhraním.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_GetColumnOrderArrayjak je popsáno v sadě Windows SDK.

Příklad

// 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

Načte šířku sloupce v zobrazení sestavy nebo zobrazení seznamu.

int GetColumnWidth(int nCol) const;

Parametry

nCol
Určuje index sloupce, jehož šířka se má načíst.

Návratová hodnota

Šířka sloupce určeného parametrem nCol.

Příklad

// Increase the column width of the second column by 20.
int nWidth = m_myListCtrl.GetColumnWidth(1);
m_myListCtrl.SetColumnWidth(1, 20 + nWidth);

CListCtrl::GetCountPerPage

Vypočítá počet položek, které se vejdou svisle do viditelné oblasti ovládacího prvku zobrazení seznamu v zobrazení seznamu nebo v zobrazení sestavy.

int GetCountPerPage() const;

Návratová hodnota

Počet položek, které se dají svisle umístit do viditelné oblasti ovládacího prvku zobrazení seznamu v zobrazení seznamu nebo v zobrazení sestavy.

Příklad

Podívejte se na příklad pro CListCtrl::GetTopIndex.

CListCtrl::GetEditControl

Načte popisovač ovládacího prvku pro úpravy použitý k úpravě textu položky zobrazení seznamu.

CEdit* GetEditControl() const;

Návratová hodnota

V případě úspěchu ukazatel na CEdit objekt, který slouží k úpravě textu položky; jinak NULL.

Příklad

// 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

Načte řetězec, který se zobrazí, pokud je aktuální ovládací prvek zobrazení seznamu prázdný.

CString GetEmptyText() const;

Návratová hodnota

A CString obsahující text, který se má zobrazit, pokud je ovládací prvek prázdný.

Poznámky

Tato metoda odešle LVM_GETEMPTYTEXT zprávu popsanou v sadě Windows SDK.

CListCtrl::GetExtendedStyle

Načte aktuální rozšířené styly ovládacího prvku zobrazení seznamu.

DWORD GetExtendedStyle();

Návratová hodnota

Kombinace rozšířených stylů, které aktuálně používá ovládací prvek zobrazení seznamu. Popisný seznam těchto rozšířených stylů najdete v článku Rozšířené styly zobrazení seznamu v sadě Windows SDK.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_GetExtendedListViewStylejak je popsáno v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CListCtrl::SetExtendedStyle.

CListCtrl::GetFirstSelectedItemPosition

Získá pozici první vybrané položky v ovládacím prvku zobrazení seznamu.

POSITION GetFirstSelectedItemPosition() const;

Návratová hodnota

Hodnota POSITION , kterou lze použít pro iteraci nebo načtení ukazatele objektu; NULL pokud nejsou vybrány žádné položky.

Příklad

Následující ukázka kódu ukazuje použití této funkce.

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

Načte skupinu, která má fokus klávesnice v aktuálním ovládacím prvku zobrazení seznamu.

int GetFocusedGroup() const;

Návratová hodnota

Index skupiny, jejíž stav je LVGS_FOCUSED, pokud existuje taková skupina, jinak -1.

Poznámky

Tato metoda odešle LVM_GETFOCUSEDGROUP zprávu popsanou v sadě Windows SDK. Další informace naleznete v LVGS_FOCUSED hodnotě state člen struktury LVGROUP .

CListCtrl::GetGroupCount

Načte počet skupin v aktuálním ovládacím prvku zobrazení seznamu.

int GetGroupCount()const;

Návratová hodnota

Počet skupin v ovládacím prvku zobrazení seznamu.

Poznámky

Tato metoda odešle LVM_GETGROUPCOUNT zprávu, která je popsána v sadě Windows SDK -->.

CListCtrl::GetGroupInfo

Získá informace pro zadanou skupinu ovládacího prvku zobrazení seznamu.

int GetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp) const;

Parametry

iGroupId
Identifikátor skupiny, jejíž informace se mají načíst.

pgrp
Ukazatel na LVGROUP obsahující informace o zadané skupině.

Návratová hodnota

Vrátí ID skupiny, pokud je úspěšné, nebo -1 jinak.

Poznámky

Tato členová funkce emuluje funkce LVM_GETGROUPINFO zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::GetGroupInfoByIndex

Načte informace o zadané skupině v aktuálním ovládacím prvku zobrazení seznamu.

BOOL GetGroupInfoByIndex(
    int iIndex,
    PLVGROUP pGroup) const;

Parametry

iIndex
[v] Index skupiny založený na nule

pGroup
[ven] Ukazatel na strukturu LVGROUP , která přijímá informace o skupině určené parametrem iIndex . Volající zodpovídá za inicializaci členů struktury LVGROUP . cbSize Nastavte člen na velikost struktury a příznaky mask člena určit informace, které se mají načíst.

Návratová hodnota

TRUEpokud je tato metoda úspěšná; v opačném případě . FALSE

Poznámky

Tato metoda odešle LVM_GETGROUPINFOBYINDEX zprávu, která je popsána v sadě Windows SDK -->.

Příklad

První příklad kódu definuje proměnnou, m_listCtrlkterá se používá pro přístup k aktuálnímu ovládacímu prvku zobrazení seznamu. Tato proměnná se používá v dalším příkladu.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

Následující příklad kódu ukazuje metodu GetGroupInfoByIndex . V předchozí části tohoto příkladu kódu jsme vytvořili ovládací prvek zobrazení seznamu, který v zobrazení sestavy zobrazuje dva sloupce s názvem "ClientID" a "Grade". Následující příklad kódu načte informace o skupině, je-li index 0, pokud taková skupina existuje.

// 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

Načte metriky skupiny.

void GetGroupMetrics(PLVGROUPMETRICS pGroupMetrics) const;

Parametry

pGroupMetrics
Ukazatel na LVGROUPMETRICS obsahující informace o metrikách skupiny

Poznámky

Tato členová funkce emuluje funkce LVM_GETGROUPMETRICS zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::GetGroupRect

Načte ohraničující obdélník pro zadanou skupinu v aktuálním ovládacím prvku zobrazení seznamu.

BOOL GetGroupRect(
    int iGroupId,
    LPRECT lpRect,
    int iCoords = LVGGR_GROUP) const;

Parametry

iGroupId
[v] Určuje skupinu.

lpRect
[in, out] Ukazatel na RECT strukturu Pokud je tato metoda úspěšná, struktura obdrží obdélníkové souřadnice skupiny, která je určena iGroupId.

iCoords
[v] Určuje souřadnice obdélníku, které se mají načíst. Použijte jednu z těchto hodnot:

  • LVGGR_GROUP - (Výchozí) Souřadnice celé rozbalené skupiny.
  • LVGGR_HEADER - Souřadnice pouze záhlaví (sbalená skupina).
  • LVGGR_SUBSETLINK - Souřadnice pouze odkazu podmnožina (podmnožina značek).

Návratová hodnota

TRUEpokud je tato metoda úspěšná; v opačném případě . FALSE

Poznámky

Volající zodpovídá za přidělování RECT struktury, na kterou pRect odkazuje parametr.

Tato metoda odešle LVM_GETGROUPRECT zprávu popsanou v sadě Windows SDK.

Příklad

První příklad kódu definuje proměnnou, m_listCtrlkterá se používá pro přístup k aktuálnímu ovládacímu prvku zobrazení seznamu. Tato proměnná se používá v dalším příkladu.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

Následující příklad kódu ukazuje metodu GetGroupRect . V předchozí části tohoto příkladu kódu jsme vytvořili ovládací prvek zobrazení seznamu, který v zobrazení sestavy zobrazuje dva sloupce s názvem "ClientID" a "Grade". Následující příklad kódu nakreslí 3D obdélník kolem skupiny, jejíž index je 0, pokud taková skupina existuje.

// 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

Načte stav pro zadanou skupinu v aktuálním ovládacím prvku zobrazení seznamu.

UINT GetGroupState(
    int iGroupId,
    DWORD dwMask) const;

Parametry

iGroupId
[v] Index skupiny založený na nule

dwMask
[v] Maska, která určuje hodnotu stavu, která se má načíst pro zadanou skupinu Další informace najdete v mask členu LVGROUP struktury.

Návratová hodnota

Požadovaný stav pro zadanou skupinu nebo 0, pokud skupinu nelze najít.

Poznámky

Vrácená hodnota je výsledkem bitové operace AND u dwMask parametru a hodnoty state člena LVGROUP struktury, která představuje aktuální ovládací prvek zobrazení seznamu.

Tato metoda odešle LVM_GETGROUPSTATE zprávu popsanou v sadě Windows SDK. Další informace najdete v makrech ListView_GetGroupState .

CListCtrl::GetHeaderCtrl

Načte ovládací prvek záhlaví ovládacího prvku zobrazení seznamu.

CHeaderCtrl* GetHeaderCtrl();

Návratová hodnota

Ukazatel na ovládací prvek záhlaví používaný ovládacím prvkem zobrazení seznamu.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_GetHeaderjak je popsáno v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CListCtrl::GetColumnOrderArray.

CListCtrl::GetHotCursor

Načte kurzor použitý při aktivní sledování pro ovládací prvek zobrazení seznamu.

HCURSOR GetHotCursor();

Návratová hodnota

Popisovač aktuálního prostředku horkého kurzoru, který používá ovládací prvek zobrazení seznamu.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_GetHotCursorjak je popsáno v sadě Windows SDK. Horký kurzor, který je viditelný pouze při povolení výběru ukazatelem myši, se zobrazí, když kurzor projde přes libovolnou položku zobrazení seznamu. Výběr najetí myší je povolený nastavením LVS_EX_TRACKSELECT rozšířeného stylu.

Příklad

// 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

Načte položku zobrazení seznamu, která je aktuálně pod kurzorem.

int GetHotItem();

Návratová hodnota

Index aktuální horké položky ovládacího prvku zobrazení seznamu.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_GetHotItemjak je popsáno v sadě Windows SDK. Horká položka je definována jako aktuálně vybraná položka, když je povolené sledování horká (a najetí myší).

Pokud je aktivní sledování, když se uživatel pozastaví nad položkou zobrazení seznamu, popisek položky se automaticky zvýrazní bez použití tlačítka myši.

Příklad

// 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

Načte aktuální čas přechodu ovládacího prvku zobrazení seznamu.

DWORD GetHoverTime() const;

Návratová hodnota

Vrátí zpoždění v milisekundách, na které musí kurzor myši najet myší na položku, než je vybraná. Pokud je vrácená hodnota -1, je výchozí čas přechodu myší.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_GetHoverTimejak je popsáno v sadě Windows SDK.

Příklad

// 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

Načte popisovač seznamu obrázků použitý pro položky zobrazení seznamu výkresu.

CImageList* GetImageList(int nImageList) const;

Parametry

nImageList
Hodnota určující, který seznam obrázků se má načíst. Může to být jedna z těchto hodnot:

  • LVSIL_NORMAL Seznam obrázků s velkými ikonami
  • LVSIL_SMALL Seznam obrázků s malými ikonami
  • LVSIL_STATE Seznam obrázků se stavovými obrázky

Návratová hodnota

Ukazatel na seznam obrázků použitý pro položky zobrazení seznamu výkresu.

Příklad

ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == NULL);
m_myListCtrl.SetImageList(&m_lcImageList, LVSIL_NORMAL);
ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == &m_lcImageList);

CListCtrl::GetInsertMark

Načte aktuální pozici značky vložení.

BOOL GetInsertMark(LPLVINSERTMARK plvim) const;

Parametry

plvim
Ukazatel na LVINSERTMARK strukturu obsahující informace pro značku vložení.

Návratová hodnota

Vrátí TRUE v případě úspěchu nebo FALSE jinak. FALSE je vrácena, pokud se velikost člena cbSize LVINSERTMARK struktury nerovná skutečné velikosti struktury.

Poznámky

Tato členová funkce emuluje funkce LVM_GETINSERTMARK zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::GetInsertMarkColor

Načte aktuální barvu značky vložení.

COLORREF GetInsertMarkColor() const;

Návratová hodnota

COLORREF Vrátí strukturu, která obsahuje barvu kurzoru.

Poznámky

Tato členová funkce emuluje funkce LVM_GETINSERTMARKCOLOR zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::GetInsertMarkRect

Načte obdélník, který ohraničuje kurzor.

int GetInsertMarkRect(LPRECT pRect) const;

Parametry

pRect
Ukazatel na RECT strukturu, která obsahuje souřadnice obdélníku, který ohraničuje kurzor.

Návratová hodnota

Vrátí jednu z následujících hodnot:

  • 0 Nebyl nalezen žádný kurzor.
  • 1 Bod vložení byl nalezen.

Poznámky

Tato členová funkce emuluje funkce LVM_GETINSERTMARKRECT zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::GetItem

Načte některé nebo všechny atributy položky zobrazení seznamu.

BOOL GetItem(LVITEM* pItem) const;

Parametry

pItem
Ukazatel na LVITEM strukturu, která přijímá atributy položky.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Struktura LVITEM určuje nebo přijímá atributy položky zobrazení seznamu.

CListCtrl::GetItemCount

Načte počet položek v ovládacím prvku zobrazení seznamu.

int GetItemCount() const;

Návratová hodnota

Počet položek v ovládacím prvku zobrazení seznamu

Příklad

Podívejte se na příklad pro CListCtrl::DeleteItem.

CListCtrl::GetItemData

Načte 32bitovou hodnotu specifickou pro aplikaci (64bitová verze, pokud kompilujete pro x64) přidruženou k položce určené nItem.

DWORD_PTR GetItemData(int nItem) const;

Parametry

nItem
Index položky seznamu, jejíž data se mají načíst.

Návratová hodnota

32bitová (64bitová verze, pokud kompilujete pro x64) hodnotu specifickou pro aplikaci přidruženou k zadané položce.

Poznámky

Tato hodnota je lParam členem LVITEM struktury, jak je popsáno v sadě Windows SDK.

Příklad

// 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

Načte ohraničující obdélník pro celý nebo část dílčího prvku v aktuálním ovládacím prvku zobrazení seznamu.

BOOL GetItemIndexRect(
    PLVITEMINDEX pItemIndex,
    int iColumn,
    int rectType,
    LPRECT pRect) const;

Parametry

pItemIndex
[v] Ukazatel na LVITEMINDEX strukturu nadřazené položky podřízené položky. Volající zodpovídá za přidělování a nastavování členů LVITEMINDEX struktury. Tento parametr nemůže být NULL.

iColumn
[v] Index sloupce v ovládacím prvku založený na nule.

rectType
[v] Část dílčí položky zobrazení seznamu, pro kterou se načte ohraničující obdélník. Zadejte jednu z následujících hodnot:

  • LVIR_BOUNDS - Vrátí ohraničující obdélník celého podsítě včetně ikony a popisku.
  • LVIR_ICON - Vrátí ohraničující obdélník ikony nebo malé ikony dílčí položky.
  • LVIR_LABEL - Vrátí ohraničující obdélník dílčího textu.

pRect
[ven] Ukazatel na RECT strukturu, která přijímá informace o ohraničující obdélník dílčí položky. Volající zodpovídá za přidělování RECT struktury. Tento parametr nemůže být NULL.

Návratová hodnota

TRUEpokud je tato metoda úspěšná; v opačném případě . FALSE

Poznámky

Tato metoda odešle LVM_GETITEMINDEXRECT zprávu popsanou v sadě Windows SDK. Další informace naleznete v tématu ListView_GetItemIndexRect Makro.

Příklad

První příklad kódu definuje proměnnou, m_listCtrlkterá se používá pro přístup k aktuálnímu ovládacímu prvku zobrazení seznamu. Tato proměnná se používá v dalším příkladu.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

Následující příklad kódu ukazuje metodu GetGroupRect . Před zadáním tohoto příkladu kódu jsme vytvořili ovládací prvek zobrazení seznamu, který v zobrazení sestavy zobrazuje dva sloupce s názvem "ClientID" a "Grade". Následující příklad kódu nakreslí 3D obdélník kolem druhého dílčího znaku v obou sloupcích.

// 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

Načte pozici položky zobrazení seznamu.

BOOL GetItemPosition(
    int nItem,
    LPPOINT lpPoint) const;

Parametry

nItem
Index položky, jejíž pozice se má načíst.

lpPoint
POINT Adresa struktury, která obdrží pozici levého horního rohu položky v souřadnicích zobrazení.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Příklad

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

Načte ohraničující obdélník pro všechny nebo části položky v aktuálním zobrazení.

BOOL GetItemRect(
    int nItem,
    LPRECT lpRect,
    UINT nCode) const;

Parametry

nItem
Index položky, jejíž pozice se má načíst.

lpRect
RECT Adresa struktury, která přijímá ohraničující obdélník.

nCode
Část položky zobrazení seznamu, pro kterou chcete načíst ohraničující obdélník. Může to být jedna z těchto hodnot:

  • LVIR_BOUNDS Vrátí ohraničující obdélník celé položky včetně ikony a popisku.
  • LVIR_ICON Vrátí ohraničující obdélník ikony nebo malé ikony.
  • LVIR_LABEL Vrátí ohraničující obdélník textu položky.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Příklad

// 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

Vypočítá mezery mezi položkami v aktuálním ovládacím prvku zobrazení seznamu.

BOOL GetItemSpacing(
    BOOL fSmall,
    int* pnHorzSpacing,
    int* pnVertSpacing) const;

Parametry

fSmall
[v] Zobrazení, pro které se má načíst mezery mezi položkami Zadejte TRUE malé zobrazení ikon nebo FALSE zobrazení ikon.

pnHorzSpacing
[ven] Obsahuje vodorovné mezery mezi položkami.

pnVertSpacing
[ven] Obsahuje svislé mezery mezi položkami.

Návratová hodnota

TRUEpokud je tato metoda úspěšná; v opačném případě . FALSE

Poznámky

Tato metoda odešle LVM_GETITEMSPACING zprávu popsanou v sadě Windows SDK.

CListCtrl::GetItemState

Načte stav položky zobrazení seznamu.

UINT GetItemState(
    int nItem,
    UINT nMask) const;

Parametry

nItem
Index položky, jejíž stav se má načíst.

nMask
Maska určující, které příznaky stavu položky se mají vrátit.

Návratová hodnota

Příznaky stavu pro zadanou položku zobrazení seznamu.

Poznámky

Stav položky je určen state členem LVITEM struktury, jak je popsáno v sadě Windows SDK. Když zadáte nebo změníte stav položky, stateMask člen určuje, které bity stavu chcete změnit.

Příklad

Podívejte se na příklad pro CListCtrl::GetTopIndex.

CListCtrl::GetItemText

Načte text položky zobrazení seznamu nebo dílčí položky.

int GetItemText(
    int nItem,
    int nSubItem,
    LPTSTR lpszText,
    int nLen) const;

CString GetItemText(
    int nItem,
    int nSubItem) const;

Parametry

nItem
Index položky, jejíž text se má načíst.

nSubItem
Určuje podřízenou položku, jejíž text se má načíst.

lpszText
Ukazatel na řetězec, který má přijmout text položky.

nLen
Délka vyrovnávací paměti, na kterou lpszTextodkazuje .

Návratová hodnota

Vrácená int verze vrátí délku načteného řetězce.

Verze vracející CString text položky.

Poznámky

Pokud nSubItem je nula, tato funkce načte popisek položky. Pokud nSubItem je nenulová, načte text dílčí položky. Další informace o argumentu dílčí položky najdete v diskuzi o LVITEM struktuře v sadě Windows SDK.

CListCtrl::GetNextItem

Vyhledá položku zobrazení seznamu, která má zadané vlastnosti a která nese zadanou relaci s danou položkou.

int GetNextItem(
    int nItem,
    int nFlags) const;

Parametry

nItem
Index položky pro zahájení hledání nebo -1 k vyhledání první položky, která odpovídá zadaným příznakům. Zadaná položka je vyloučena z hledání.

nFlags
Geometrický vztah požadované položky k zadané položce a stav požadované položky. Geometrický vztah může být jedna z těchto hodnot:

  • LVNI_ABOVE Vyhledá položku, která je nad zadanou položkou.
  • LVNI_ALL Vyhledá následnou položku podle indexu (výchozí hodnota).
  • LVNI_BELOW Vyhledá položku, která je pod zadanou položkou.
  • LVNI_TOLEFT Vyhledá položku vlevo od zadané položky.
  • LVNI_TORIGHT Vyhledá položku napravo od zadané položky.

Stav může být nulový nebo může být jedna nebo více z těchto hodnot:

  • LVNI_DROPHILITED Položka má LVIS_DROPHILITED nastavený příznak stavu.
  • LVNI_FOCUSED Položka má LVIS_FOCUSED nastavený příznak stavu.
  • LVNI_SELECTED Položka má LVIS_SELECTED nastavený příznak stavu.

Pokud položka nemá nastavené všechny zadané příznaky stavu, hledání bude pokračovat další položkou.

Návratová hodnota

Index další položky, pokud je úspěšný, nebo -1 jinak.

CListCtrl::GetNextItemIndex

Načte index položky v aktuálním ovládacím prvku zobrazení seznamu, který má zadanou sadu vlastností.

BOOL GetNextItemIndex(
    PLVITEMINDEX pItemIndex,
    int nFlags) const;

Parametry

pItemIndex
[in, out] Ukazatel na LVITEMINDEX strukturu, která popisuje položku, kde začíná hledání, nebo -1 k nalezení první položky, která odpovídá příznakům v parametru nFlags . Pokud je tato metoda úspěšná, LVITEMINDEX struktura popisuje položku nalezenou hledáním.

nFlags
[v] Bitové kombinace (OR) příznaků, které určují, jak provést vyhledávání. Hledání může záviset na indexu, stavu nebo vzhledu cílové položky nebo fyzické pozici cílové položky vzhledem k položce určené parametrem pItemIndex . Další informace naleznete flags v parametru LVM_GETNEXTITEMINDEX ve zprávě.

Návratová hodnota

TRUEpokud je tato metoda úspěšná; v opačném případě . FALSE

Poznámky

Volající zodpovídá za přidělování a nastavení členů LVITEMINDEX struktury, na které pItemIndex odkazuje parametr.

Tato metoda odešle LVM_GETNEXTITEMINDEX zprávu popsanou v sadě Windows SDK.

CListCtrl::GetNextSelectedItem

Získá index položky seznamu identifikované pos, pak nastaví pos na hodnotu POSITION.

int GetNextSelectedItem(POSITION& pos) const;

Parametry

pos
Odkaz na hodnotu POSITION vrácenou předchozím voláním nebo GetNextSelectedItem GetFirstSelectedItemPosition. Tato volání aktualizuje hodnotu na další pozici.

Návratová hodnota

Index položky seznamu identifikované uživatelem pos.

Poznámky

Můžete použít GetNextSelectedItem ve smyčce přesměrování iterace, pokud vytvoříte počáteční pozici s voláním GetFirstSelectedItemPosition.

Ujistěte se, že je hodnota POSITION platná. Pokud je neplatná, pak ladicí verze knihovny tříd Microsoft Foundation asserts.

Příklad

Následující ukázka kódu ukazuje použití této funkce.

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

Načte aktuální počet pracovních oblastí pro ovládací prvek zobrazení seznamu.

UINT GetNumberOfWorkAreas() const;

Návratová hodnota

V tuto chvíli se nepoužívá.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_GetNumberOfWorkAreasjak je popsáno v sadě Windows SDK.

Příklad

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

Načte barvu ohraničení ovládacího prvku zobrazení seznamu.

COLORREF GetOutlineColor() const;

Návratová hodnota

COLORREF Vrátí strukturu obsahující barvu obrysu.

Poznámky

Tato členová funkce emuluje funkce LVM_GETOUTLINECOLOR zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::GetOrigin

Načte aktuální zdroj zobrazení pro ovládací prvek zobrazení seznamu.

BOOL GetOrigin(LPPOINT lpPoint) const;

Parametry

lpPoint
POINT Adresa struktury, která přijímá původ zobrazení.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula. Pokud je však ovládací prvek v zobrazení sestavy, návratová hodnota je vždy nula.

CListCtrl::GetSelectedColumn

Načte index aktuálně vybraného sloupce v ovládacím prvku seznam.

UINT GetSelectedColumn() const;

Návratová hodnota

Index vybraného sloupce

Poznámky

Tato členová funkce emuluje funkce LVM_GETSELECTEDCOLUMN zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::GetSelectedCount

Načte počet vybraných položek v ovládacím prvku zobrazení seznamu.

UINT GetSelectedCount() const;

Návratová hodnota

Počet vybraných položek v ovládacím prvku zobrazení seznamu.

Příklad

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

Načte značku výběru ovládacího prvku zobrazení seznamu.

int GetSelectionMark();

Návratová hodnota

Značka výběru založená na nule nebo -1, pokud neexistuje žádná značka výběru.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_GetSelectionMarkjak je popsáno v sadě Windows SDK.

Příklad

// 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

Určuje minimální šířku sloupce potřebnou k zobrazení veškerého daného řetězce.

int GetStringWidth(LPCTSTR lpsz) const;

Parametry

lpsz
Adresa řetězce ukončeného hodnotou null, jehož šířka se má určit.

Návratová hodnota

Šířka řetězce v pixelech, na kterou lpszodkazuje .

Poznámky

Vrácená šířka bere v úvahu aktuální písmo ovládacího prvku a okraje sloupců, ale ne šířku malé ikony.

Příklad

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

Načte ohraničující obdélník položky v ovládacím prvku zobrazení seznamu.

BOOL GetSubItemRect(
    int iItem,
    int iSubItem,
    int nArea,
    CRect& ref);

Parametry

iItem
Index nadřazené položky podřízené položky

iSubItem
Jednoúrovňový index dílčí položky.

nArea
Určuje část ohraničujícího obdélníku (dílčí položky zobrazení seznamu), která se má načíst. Část (ikona, popisek nebo obojí) ohraničujícího obdélníku je určena použitím bitového OR operátoru na jednu nebo více následujících hodnot:

  • LVIR_BOUNDS Vrátí ohraničující obdélník celé položky včetně ikony a popisku.
  • LVIR_ICON Vrátí ohraničující obdélník ikony nebo malé ikony.
  • LVIR_LABEL Vrátí ohraničující obdélník celé položky včetně ikony a popisku. To je stejné jako LVIR_BOUNDS.

ref
Odkaz na CRect objekt, který obsahuje souřadnice ohraničujícího obdélníku subitem.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_GetSubItemRectjak je popsáno v sadě Windows SDK.

CListCtrl::GetTextBkColor

Načte barvu pozadí textu ovládacího prvku zobrazení seznamu.

COLORREF GetTextBkColor() const;

Návratová hodnota

32bitová hodnota použitá k určení barvy RGB.

Příklad

Podívejte se na příklad pro CListCtrl::SetTextBkColor.

CListCtrl::GetTextColor

Načte barvu textu ovládacího prvku zobrazení seznamu.

COLORREF GetTextColor() const;

Návratová hodnota

32bitová hodnota použitá k určení barvy RGB.

Příklad

Podívejte se na příklad pro CListCtrl::SetTextColor.

CListCtrl::GetTileInfo

Načte informace o dlaždici v ovládacím prvku zobrazení seznamu.

BOOL GetTileInfo(PLVTILEINFO plvti) const;

Parametry

plvti
Ukazatel na LVTILEINFO strukturu, která přijímá informace o dlaždici.

Návratová hodnota

Vrácená hodnota se nepoužívá.

Poznámky

Tato členová funkce emuluje funkce LVM_GETTILEINFO zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::GetTileViewInfo

Načte informace o ovládacím prvku zobrazení seznamu v zobrazení dlaždic.

BOOL GetTileViewInfo(PLVTILEVIEWINFO ptvi) const;

Parametry

ptvi
Ukazatel na LVTILEVIEWINFO strukturu, která přijímá načtené informace.

Návratová hodnota

Vrácená hodnota se nepoužívá.

Poznámky

Tato členová funkce emuluje funkce LVM_GETTILEVIEWINFO zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::GetToolTips

Načte ovládací prvek popisu, který ovládací prvek zobrazení seznamu používá k zobrazení popisů.

CToolTipCtrl* GetToolTips() const;

Návratová hodnota

Ukazatel na CToolTipCtrl objekt, který má ovládací prvek seznamu používat. Pokud členová Create funkce používá styl LVS_NOTOOLTIPS, nebudou použity žádné popisy a vrátí se hodnota NULL.

Poznámky

Tato členová funkce implementuje chování zprávy LVM_GETTOOLTIPSWin32, jak je popsáno v sadě Windows SDK. Implementace GetToolTips knihovny MFC vrátí CToolTipCtrl objekt, který je používán ovládacím prvku seznamu, nikoli popisovačem ovládacího prvku popisku.

Příklad

CToolTipCtrl* pTip = m_myListCtrl.GetToolTips();
if (NULL != pTip)
{
    pTip->UpdateTipText(_T("I'm a list view!"), &m_myListCtrl,
        IDD_MYLISTCTRL);
}

CListCtrl::GetTopIndex

Načte index nejvíce viditelné položky v zobrazení seznamu nebo v zobrazení sestavy.

int GetTopIndex() const;

Návratová hodnota

Index nejvrspodnější viditelné položky

Příklad

// 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

Získá zobrazení ovládacího prvku zobrazení seznamu.

DWORD GetView() const;

Návratová hodnota

Aktuální zobrazení ovládacího prvku zobrazení seznamu.

Poznámky

Tato členová funkce emuluje funkce LVM_GETVIEW zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::GetViewRect

Načte ohraničující obdélník všech položek v ovládacím prvku zobrazení seznamu.

BOOL GetViewRect(LPRECT lpRect) const;

Parametry

lpRect
RECT Adresa struktury.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Zobrazení seznamu musí být v zobrazení ikon nebo v malém zobrazení ikon.

CListCtrl::GetWorkAreas

Načte aktuální pracovní oblasti ovládacího prvku zobrazení seznamu.

void GetWorkAreas(
    int nWorkAreas,
    LPRECT pRect) const;

Parametry

nWorkAreas
Počet struktur obsažených RECT pRect v poli.

pRect
Ukazatel na pole RECT struktur (nebo CRect objektů), které přijímají pracovní oblasti ovládacího prvku zobrazení seznamu. Hodnoty v těchto strukturách jsou v souřadnicích klienta.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_GetWorkAreasjak je popsáno v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CListCtrl::GetNumberOfWorkAreas.

CListCtrl::HasGroup

Určuje, zda ovládací prvek zobrazení seznamu má zadanou skupinu.

BOOL HasGroup(int iGroupId) const;

Parametry

iGroupId
Identifikátor požadované skupiny.

Návratová hodnota

Vrátí TRUE úspěch FALSE při selhání.

Poznámky

Tato členová funkce emuluje funkce LVM_HASGROUP zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::HitTest

Určuje, která položka zobrazení seznamu je v případě potřeby na zadané pozici.

int HitTest(LVHITTESTINFO* pHitTestInfo) const;

int HitTest(
    CPoint pt,
    UINT* pFlags = NULL) const;

Parametry

pHitTestInfo
LVHITTESTINFO Adresa struktury, která obsahuje pozici k dosažení testu a která přijímá informace o výsledcích testu.

pt
Nasměruje se na testování.

pFlags
Ukazatel na celé číslo, které přijímá informace o výsledcích testu. Podívejte se na vysvětlení flags člena LVHITTESTINFO struktury v sadě Windows SDK.

Návratová hodnota

Index položky na pozici určené parametrem pHitTestInfo, pokud existuje, nebo -1 jinak.

Poznámky

Můžete použít LVHT_ABOVE, , LVHT_BELOWLVHT_TOLEFTa LVHT_TORIGHT hodnoty člen struktury flag určit, zda se má posunout obsah ovládacího prvku zobrazení seznamu. Dva z těchto příznaků je možné zkombinovat, například pokud je pozice nad a vlevo od klientské oblasti.

Můžete otestovat LVHT_ONITEM hodnotu člena flag struktury a určit, zda je daná pozice nad položkou zobrazení seznamu. Tato hodnota je bitové operace OR v objektu LVHT_ONITEMICON, LVHT_ONITEMLABELa LVHT_ONITEMSTATEICON hodnoty členu flag struktury.

Příklad

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

Vloží nový sloupec do ovládacího prvku zobrazení seznamu.

int InsertColumn(
    int nCol,
    const LVCOLUMN* pColumn);

int InsertColumn(
    int nCol,
    LPCTSTR lpszColumnHeading,
    int nFormat = LVCFMT_LEFT,
    int nWidth = -1,
    int nSubItem = -1);

Parametry

nCol
Index nového sloupce.

pColumn
LVCOLUMN Adresa struktury, která obsahuje atributy nového sloupce.

lpszColumnHeading
Adresa řetězce obsahujícího záhlaví sloupce

nFormat
Celé číslo určující zarovnání sloupce. Může to být jedna z těchto hodnot: LVCFMT_LEFT, LVCFMT_RIGHTnebo LVCFMT_CENTER.

nWidth
Šířka sloupce v pixelech Pokud je tento parametr -1, šířka sloupce není nastavená.

nSubItem
Index podřízeného položky přidruženého ke sloupci Pokud je tento parametr -1, není k tomuto sloupci přidružen žádný podpoložka.

Návratová hodnota

Index nového sloupce v případě úspěchu nebo -1 v opačném případě.

Poznámky

Sloupec úplně vlevo v ovládacím prvku zobrazení seznamu musí být zarovnaný doleva.

Struktura LVCOLUMN obsahuje atributy sloupce v zobrazení sestavy. Používá se také k příjmu informací o sloupci. Tato struktura je popsaná v sadě Windows SDK.

CListCtrl::InsertGroup

Vloží skupinu do ovládacího prvku zobrazení seznamu.

LRESULT InsertGroup(
    int index,
    PLVGROUP pgrp);

Parametry

index
Index položky, do které má být skupina vložena.

pgrp
Ukazatel na LVGROUP strukturu obsahující skupinu, která se má přidat.

Návratová hodnota

Vrátí index položky, do které byla skupina přidána, nebo -1, pokud operace selhala.

Poznámky

Tato členová funkce emuluje funkce LVM_INSERTGROUP zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::InsertGroupSorted

Vloží zadanou skupinu do seřazeného seznamu skupin.

LRESULT InsertGroupSorted(PLVINSERTGROUPSORTED pStructInsert);

Parametry

pStructInsert
Ukazatel na LVINSERTGROUPSORTED strukturu, která obsahuje skupinu, kterou chcete vložit.

Návratová hodnota

Vrácená hodnota se nepoužívá.

Poznámky

Tato členová funkce emuluje funkce LVM_INSERTGROUPSORTED zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::InsertItem

Vloží položku do ovládacího prvku zobrazení seznamu.

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

Parametry

pItem
Ukazatel na strukturu LVITEM , která určuje atributy položky, jak je popsáno v sadě Windows SDK.

nItem
Index položky, kterou chcete vložit.

lpszItem
Adresa řetězce obsahujícího popisek položky nebo LPSTR_TEXTCALLBACK pokud je položka položkou zpětného volání. Informace o položkách zpětného volání naleznete v tématu CListCtrl::GetCallbackMask.

nImage
Index obrázku položky nebo I_IMAGECALLBACK pokud se jedná o položku zpětného volání. Informace o položkách zpětného volání naleznete v tématu CListCtrl::GetCallbackMask.

nMask
Parametr nMask určuje, které atributy položky byly předány jako parametry jsou platné. Může to být jedna nebo více hodnot masky popsaných ve LVITEM struktuře v sadě Windows SDK. Platné hodnoty lze kombinovat s bitovým operátorem OR.

nState
Označuje stav, obrázek stavu a překryvný obrázek položky. Další informace naleznete v tématech o sadě LVITEM Windows SDK – Struktura a Stavy položek zobrazení seznamu pro seznam platných příznaků.

nStateMask
Určuje, které bity člena státu budou načteny nebo upraveny. Další informace naleznete v tématu LVITEM Struktura v sadě Windows SDK.

lParam
32bitová hodnota specifická pro aplikaci (64bitová verze, pokud kompilujete pro x64) přidruženou k položce. Pokud je tento parametr zadán, je nutné nastavit nMask atribut LVIF_PARAM.

Návratová hodnota

Index nové položky v případě úspěchu nebo -1 v opačném případě.

Poznámky

Volání této metody může způsobit LVM_INSERTITEM odeslání zprávy do ovládacího okna. Přidružená obslužná rutina zprávy pro ovládací prvek nemusí za určitých podmínek nastavit text položky (například pomocí stylů oken, jako LVS_OWNERDRAWje ). Další informace o těchto podmínkách najdete LVM_INSERTITEM v sadě Windows SDK.

Příklad

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

Načte kurzor nejblíže zadanému bodu.

int InsertMarkHitTest(
    LPPOINT pPoint,
    LPLVINSERTMARK plvim) const;

Parametry

pPoint
Ukazatel na POINT strukturu, která obsahuje souřadnice testu hitů vzhledem k klientské oblasti ovládacího prvku seznamu.

plvim
Ukazatel na LVINSERTMARK strukturu, která určuje kurzor nejblíže souřadnicím definovaným parametrem bodu.

Návratová hodnota

Kurzor nejblíže zadanému bodu.

Poznámky

Tato členová funkce emuluje funkce LVM_INSERTMARKHITTEST zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::IsGroupViewEnabled

Určuje, zda je pro ovládací prvek zobrazení seznamu povoleno zobrazení skupiny.

BOOL IsGroupViewEnabled() const;

Návratová hodnota

Vrátí TRUE , pokud je povolené zobrazení skupiny nebo FALSE jinak.

Poznámky

Tato členová funkce emuluje funkce LVM_ISGROUPVIEWENABLED zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::IsItemVisible

Určuje, zda je zobrazena zadaná položka v aktuálním ovládacím prvku zobrazení seznamu.

BOOL IsItemVisible(int index) const;

Parametry

index
[v] Index položky založené na nule v aktuálním ovládacím prvku zobrazení seznamu.

Návratová hodnota

TRUEpokud je zadaná položka viditelná; v opačném případě . FALSE

Poznámky

Tato metoda odešle LVM_ISITEMVISIBLE zprávu popsanou v sadě Windows SDK.

CListCtrl::MapIDToIndex

Mapuje jedinečné ID položky v aktuálním ovládacím prvku zobrazení seznamu na index.

UINT MapIDToIndex(UINT id) const;

Parametry

id
[v] Jedinečné ID položky.

Návratová hodnota

Aktuální index pro zadané ID.

Poznámky

Ovládací prvek zobrazení seznamu interně sleduje položky podle indexu. To může způsobovat problémy, protože indexy se můžou během životnosti ovládacího prvku změnit. Ovládací prvek zobrazení seznamu může při vytváření položky označit položku s ID a toto ID můžete použít k zajištění jedinečnosti během životnosti ovládacího prvku zobrazení seznamu.

Ve vícevláknovém prostředí je index zaručen pouze ve vlákně, které je hostitelem ovládacího prvku zobrazení seznamu, ne ve vláknech na pozadí.

Tato metoda odešle LVM_MAPIDTOINDEX zprávu popsanou v sadě Windows SDK.

CListCtrl::MapIndexToID

Mapuje index položky v aktuálním ovládacím prvku zobrazení seznamu na jedinečné ID.

UINT MapIndexToID(UINT index) const;

Parametry

index
[v] Index položky založený na nule.

Návratová hodnota

Jedinečné ID pro zadanou položku

Poznámky

Ovládací prvek zobrazení seznamu interně sleduje položky podle indexu. To může způsobovat problémy, protože indexy se můžou během životnosti ovládacího prvku změnit. Ovládací prvek zobrazení seznamu může při vytváření položky označit položku s ID. Toto ID můžete použít pro přístup ke konkrétní položce po celou dobu životnosti ovládacího prvku zobrazení seznamu.

Ve vícevláknovém prostředí je index zaručen pouze ve vlákně, které je hostitelem ovládacího prvku zobrazení seznamu, ne ve vláknech na pozadí.

Tato metoda odešle LVM_MAPINDEXTOID zprávu popsanou v sadě Windows SDK.

Příklad

První příklad kódu definuje proměnnou, m_listCtrlkterá se používá pro přístup k aktuálnímu ovládacímu prvku zobrazení seznamu. Tato proměnná se používá v dalším příkladu.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

Následující příklad kódu ukazuje metodu MapIndexToID . V předchozí části tohoto příkladu kódu jsme vytvořili ovládací prvek zobrazení seznamu, který v zobrazení sestavy zobrazuje dva sloupce s názvem "ClientID" a "Grade". Následující příklad mapuje index každé položky zobrazení seznamu na identifikační číslo a potom načte index pro každé identifikační číslo. Příklad nakonec hlásí, jestli byly načteny původní indexy.

// 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

Přesune zadanou skupinu do zadaného nulového indexu ovládacího prvku zobrazení seznamu.

LRESULT MoveGroup(
    int iGroupId,
    int toIndex);

Parametry

iGroupId
Identifikátor skupiny, která se má přesunout.

toIndex
Index založený na nule, do kterého se má skupina přesunout.

Návratová hodnota

Vrácená hodnota se nepoužívá.

Poznámky

Tato členová funkce emuluje funkce LVM_MOVEGROUP zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::MoveItemToGroup

Přesune zadanou položku do zadané skupiny.

void MoveItemToGroup(
    int idItemFrom,
    int idGroupTo);

Parametry

idItemFrom
[v] Index položky, kterou chcete přesunout.

idGroupTo
[v] Identifikátor skupiny, do které se položka přesune.

Poznámky

Poznámka:

Tato metoda není aktuálně implementována.

Tato metoda emuluje funkce LVM_MOVEITEMTOGROUP zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::RedrawItems

Vynutí ovládací prvek zobrazení seznamu k překreslení rozsahu položek.

BOOL RedrawItems(
    int nFirst,
    int nLast);

Parametry

nFirst
Index první položky, která se má překreslit

nLast
Index poslední položky, která se má překreslit

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Zadané položky se nepřekreslí, dokud okno zobrazení seznamu neobdrží WM_PAINT zprávu. Pokud chcete funkci Windows UpdateWindow okamžitě překreslit, zavolejte ji po použití této funkce.

CListCtrl::RemoveAllGroups

Odebere všechny skupiny z ovládacího prvku zobrazení seznamu.

void RemoveAllGroups();

Poznámky

Tato členová funkce emuluje funkce LVM_REMOVEALLGROUPS zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::RemoveGroup

Odebere zadanou skupinu z ovládacího prvku zobrazení seznamu.

LRESULT RemoveGroup(int iGroupId);

Parametry

iGroupId
Identifikátor skupiny, která se má odebrat.

Návratová hodnota

Vrátí index skupiny, pokud je úspěšný, nebo -1 jinak.

Poznámky

Tato členová funkce emuluje funkce LVM_REMOVEGROUP zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::Scroll

Posune obsah ovládacího prvku zobrazení seznamu.

BOOL Scroll(CSize size);

Parametry

size
Objekt CSize určující velikost vodorovného a svislého posouvání v pixelech. Člen y velikosti je dělený výškou v pixelech čáry ovládacího prvku zobrazení seznamu a ovládací prvek se posune o výsledný počet řádků.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

CListCtrl::SetBkColor

Nastaví barvu pozadí ovládacího prvku zobrazení seznamu.

BOOL SetBkColor(COLORREF cr);

Parametry

cr
Barva pozadí, která se má nastavit, nebo CLR_NONE hodnota bez barvy pozadí. Ovládací prvky zobrazení seznamu s barvami pozadí se výrazně rychleji překreslují než ty bez barev pozadí. Informace najdete COLORREF v sadě Windows SDK.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Příklad

// 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

Nastaví obrázek pozadí ovládacího prvku zobrazení seznamu.

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

Parametry

plvbkImage
LVBKIMAGE Adresa struktury obsahující nové informace o obrázku na pozadí

hBitmap
Popisovač rastrového obrázku

pszUrl
Řetězec NULL-terminated, který obsahuje adresu URL obrázku na pozadí.

fTile
Nenulové, pokud má být obrázek dlaždice na pozadí ovládacího prvku zobrazení seznamu; jinak 0.

xOffsetPercent
Posun v pixelech levého okraje obrázku od počátku ovládacího prvku zobrazení seznamu.

yOffsetPercent
Posun v pixelech horního okraje obrázku od počátku ovládacího prvku zobrazení seznamu.

Návratová hodnota

Vrátí nenulové hodnoty, pokud jsou úspěšné, nebo nula v opačném případě.

Poznámky

Poznámka:

Vzhledem k tomu CListCtrl::SetBkImage , že používá funkce OLE COM, musí být knihovny OLE inicializovány před použitím SetBkImage. Nejlepší je inicializovat knihovny MODELU COM při inicializaci aplikace a zrušení inicializace knihoven při ukončení aplikace. To se provádí automaticky v aplikacích MFC, které využívají technologii ActiveX, automatizaci OLE, propojení a vkládání OLE nebo operace ODBC/DAO.

Příklad

Podívejte se na příklad pro CListCtrl::GetBkImage.

CListCtrl::SetCallbackMask

Nastaví masku zpětného volání pro ovládací prvek zobrazení seznamu.

BOOL SetCallbackMask(UINT nMask);

Parametry

nMask
Nová hodnota masky zpětného volání

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Příklad

// 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

Určuje, zda je zobrazen obrázek stavu položky ovládacího prvku seznamu.

BOOL SetCheck(
    int nItem,
    BOOL fCheck = TRUE);

Parametry

nItem
Index ovládacího prvku seznamu založený na nule.

fCheck
Určuje, zda má být obrázek stavu položky viditelný nebo ne. Ve výchozím nastavení fCheck je TRUE obrázek stavu viditelný. Pokud fCheck ano FALSE, není vidět.

Návratová hodnota

Nenulové, pokud je položka zaškrtnutá, jinak 0.

Příklad

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

Nastaví atributy sloupce zobrazení seznamu.

BOOL SetColumn(
    int nCol,
    const LVCOLUMN* pColumn);

Parametry

nCol
Index sloupce, jehož atributy mají být nastaveny.

pColumn
LVCOLUMN Adresa struktury, která obsahuje nové atributy sloupců, jak je popsáno v sadě Windows SDK. Člen struktury mask určuje, které atributy sloupce se mají nastavit. mask Pokud člen určuje LVCF_TEXT hodnotu, člen struktury pszText je adresa řetězce ukončeného hodnotou null a člen struktury cchTextMax bude ignorován.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Příklad

Podívejte se na příklad pro CListCtrl::GetColumn.

CListCtrl::SetColumnOrderArray

Nastaví pořadí sloupců (zleva doprava) ovládacího prvku zobrazení seznamu.

BOOL SetColumnOrderArray(
    int iCount,
    LPINT piArray);

Parametry

piArray
Ukazatel na vyrovnávací paměť obsahující hodnoty indexu sloupců v ovládacím prvku zobrazení seznamu (zleva doprava). Vyrovnávací paměť musí být dostatečně velká, aby obsahovala celkový počet sloupců v ovládacím prvku zobrazení seznamu.

iCount
Počet sloupců v ovládacím prvku zobrazení seznamu

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_SetColumnOrderArrayjak je popsáno v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CListCtrl::GetColumnOrderArray.

CListCtrl::SetColumnWidth

Změní šířku sloupce v zobrazení sestavy nebo zobrazení seznamu.

BOOL SetColumnWidth(
    int nCol,
    int cx);

Parametry

nCol
Index sloupce, pro který se má nastavit šířka V zobrazení seznamu musí být tento parametr 0.

cx
Nová šířka sloupce. Může to být buď LVSCW_AUTOSIZE nebo LVSCW_AUTOSIZE_USEHEADER, jak je popsáno v LVM_SETCOLUMNWIDTH sadě Windows SDK.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

CListCtrl::SetExtendedStyle

Nastaví aktuální rozšířené styly ovládacího prvku zobrazení seznamu.

DWORD SetExtendedStyle(DWORD dwNewStyle);

Parametry

dwNewStyle
Kombinace rozšířených stylů, které má ovládací prvek zobrazení seznamu používat. Popisný seznam těchto stylů najdete v tématu Rozšířené styly zobrazení seznamu v sadě Windows SDK.

Návratová hodnota

Kombinacepředchozíchch

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_SetExtendedListViewStylejak je popsáno v sadě Windows SDK.

Příklad

// Allow the header controls item to be movable by the user.
m_myListCtrl.SetExtendedStyle
    (m_myListCtrl.GetExtendedStyle()|LVS_EX_HEADERDRAGDROP);

CListCtrl::SetGroupInfo

Nastaví informace, které popisují zadanou skupinu aktuálního ovládacího prvku zobrazení seznamu.

int SetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp);

Parametry

iGroupId
Identifikátor skupiny, jejíž informace jsou nastaveny.

pgrp
Ukazatel na LVGROUP strukturu, která obsahuje informace, které chcete nastavit. Volající zodpovídá za přidělení této struktury a nastavení jejích členů.

Návratová hodnota

ID skupiny, pokud je metoda úspěšná; jinak, -1.

Poznámky

Tato metoda odešle LVM_SETGROUPINFO zprávu popsanou v sadě Windows SDK.

CListCtrl::SetGroupMetrics

Nastaví metriky skupiny ovládacího prvku zobrazení seznamu.

void SetGroupMetrics(PLVGROUPMETRICS pGroupMetrics);

Parametry

pGroupMetrics
Ukazatel na LVGROUPMETRICS strukturu obsahující informace o metrikách skupiny, které se mají nastavit.

Poznámky

Tato členová funkce emuluje funkce LVM_SETGROUPMETRICS zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::SetHotCursor

Nastaví kurzor použitý při aktivní sledování pro ovládací prvek zobrazení seznamu.

HCURSOR SetHotCursor(HCURSOR hc);

Parametry

hc
Úchyt prostředku kurzoru, který slouží k reprezentaci horkého kurzoru.

Návratová hodnota

Popisovač předchozího prostředku horkého kurzoru, který používá ovládací prvek zobrazení seznamu.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_SetHotCursorjak je popsáno v sadě Windows SDK.

Horký kurzor, viditelný pouze v případě, že je povolený výběr ukazatelem myši, se zobrazí, když kurzor předá libovolnou položku zobrazení seznamu. Výběr najetím myší je povolený nastavením rozšířeného LVS_EX_TRACKSELECT stylu.

Příklad

Podívejte se na příklad pro CListCtrl::GetHotCursor.

CListCtrl::SetHotItem

Nastaví aktuální aktivní položku ovládacího prvku zobrazení seznamu.

int SetHotItem(int iIndex);

Parametry

iIndex
Index položky založené na nule, který se má nastavit jako horká položka.

Návratová hodnota

Index založený na nule dříve horké položky.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_SetHotItemjak je popsáno v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CListCtrl::GetHotItem.

CListCtrl::SetHoverTime

Nastaví aktuální čas přechodu ovládacího prvku zobrazení seznamu.

DWORD SetHoverTime(DWORD dwHoverTime = (DWORD)-1);

Parametry

dwHoverTime
Nové zpoždění v milisekundách, které musí kurzor myši najet myší na položku, než bude vybrán. Pokud se předá výchozí hodnota, nastaví se čas na výchozí čas přechodu.

Návratová hodnota

Předchozí čas přechodu v milisekundách.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_SetHoverTimejak je popsáno v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CListCtrl::GetHoverTime.

CListCtrl::SetIconSpacing

Nastaví mezery mezi ikonami v ovládacím prvku zobrazení seznamu.

CSize SetIconSpacing(
    int cx,
    int cy);

CSize SetIconSpacing(CSize size);

Parametry

cx
Vzdálenost (v pixelech) mezi ikonami na ose x.

cy
Vzdálenost (v pixelech) mezi ikonami na ose y.

size
Objekt CSize určující vzdálenost (v pixelech) mezi ikonami na osách x a y.

Návratová hodnota

Objekt CSize obsahující předchozí hodnoty pro mezery mezi ikonami.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_SetIconSpacingjak je popsáno v sadě Windows SDK.

Příklad

// Leave lots of space between icons.
m_myListCtrl.SetIconSpacing(CSize(100, 100));

CListCtrl::SetImageList

Přiřadí seznam obrázků k ovládacímu prvku zobrazení seznamu.

CImageList* SetImageList(
    CImageList* pImageList,
    int nImageListType);

Parametry

pImageList
Ukazatel na seznam obrázků, který chcete přiřadit.

nImageListType
Typ seznamu obrázků Může to být jedna z těchto hodnot:

  • LVSIL_NORMAL Seznam obrázků s velkými ikonami
  • LVSIL_SMALL Seznam obrázků s malými ikonami
  • LVSIL_STATE Seznam obrázků se stavovými obrázky

Návratová hodnota

Ukazatel na předchozí seznam obrázků.

Příklad

Podívejte se na příklad pro CListCtrl::GetImageList.

CListCtrl::SetInfoTip

Nastaví text popisu.

BOOL SetInfoTip(PLVSETINFOTIP plvInfoTip);

Parametry

plvInfoTip
Ukazatel na LVFSETINFOTIP strukturu obsahující informace, které se mají nastavit.

Návratová hodnota

Vrátí TRUE úspěch FALSE při selhání.

Poznámky

Tato členová funkce emuluje funkce LVM_SETINFOTIP zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::SetInsertMark

Nastaví kurzor na definovanou pozici.

BOOL SetInsertMark(LPLVINSERTMARK plvim);

Parametry

plvim
Ukazatel na LVINSERTMARK strukturu určující, kam se má kurzor nastavit.

Návratová hodnota

Vrátí TRUE v případě úspěchu nebo FALSE jinak. FALSE je vrácena, pokud se velikost člena cbSize LVINSERTMARK struktury nerovná skutečné velikosti struktury nebo když se kurzor v aktuálním zobrazení nepoužije.

Poznámky

Tato členová funkce emuluje funkce LVM_SETINSERTMARK zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::SetInsertMarkColor

Nastaví barvu kurzoru.

COLORREF SetInsertMarkColor(COLORREF color);

Parametry

color
Struktura COLORREF určující barvu pro nastavení kurzoru.

Návratová hodnota

COLORREF Vrátí strukturu obsahující předchozí barvu.

Poznámky

Tato členová funkce emuluje funkce LVM_SETINSERTMARKCOLOR zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::SetItem

Nastaví některé nebo všechny atributy položky zobrazení seznamu.

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

Parametry

pItem
LVITEM Adresa struktury, která obsahuje atributy nové položky, jak je popsáno v sadě Windows SDK. Členové struktury iItem iSubItem identifikují položku nebo dílčí položku a člen struktury mask určuje, které atributy se mají nastavit. Další informace o členu mask naleznete v poznámkách.

nItem
Index položky, jejíž atributy mají být nastaveny.

nSubItem
Index dílčí položky, jejíž atributy mají být nastaveny.

nMask
Určuje, které atributy se mají nastavit (viz poznámky).

lpszItem
Adresa řetězce ukončeného hodnotou null určující popisek položky.

nImage
Index obrázku položky v seznamu obrázků

nState
Určuje hodnoty stavů, které se mají změnit (viz poznámky).

nStateMask
Určuje, které stavy se mají změnit (viz poznámky).

lParam
32bitová (64bitová verze, pokud kompilujete pro x64) hodnotu specifickou pro aplikaci, kterou chcete přidružit k položce.

nIndent
Šířka v pixelech odsazení. Pokud nIndent je menší než minimální šířka definovaná systémem, nastaví se nová šířka na minimální hodnotu definovanou systémem.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Členové iItem LVITEM struktury a nItem nSubItem parametrů identifikují položku a dílčí položky, jejichž atributy mají iSubItem být nastaveny.

LVITEM Člen mask struktury a nMask parametr určují, které atributy položky mají být nastaveny:

  • LVIF_TEXT Člen pszText nebo lpszItem parametr je adresa řetězce ukončeného hodnotou null. Člen cchTextMax je ignorován.
  • LVIF_STATE Člen stateMask nebo nStateMask parametr určuje, které stavy položek se mají změnit, a state člen nebo nState parametr obsahuje hodnoty pro tyto stavy.

Příklad

Podívejte se na příklad pro CListCtrl::HitTest.

CListCtrl::SetItemCount

Připraví ovládací prvek zobrazení seznamu pro přidání velkého počtu položek.

void SetItemCount(int nItems);

Parametry

nItems
Počet položek, které bude ovládací prvek nakonec obsahovat.

Poznámky

Pokud chcete nastavit počet položek pro ovládací prvek zobrazení virtuálního seznamu, přečtěte si téma CListCtrl::SetItemCountEx.

Tato členová funkce implementuje chování makra Win32, ListView_SetItemCountjak je popsáno v sadě Windows SDK.

Příklad

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

Nastaví počet položek pro ovládací prvek zobrazení virtuálního seznamu.

BOOL SetItemCountEx(
    int iCount,
    DWORD dwFlags = LVSICF_NOINVALIDATEALL);

Parametry

iCount
Počet položek, které bude ovládací prvek nakonec obsahovat.

dwFlags
Určuje chování ovládacího prvku zobrazení seznamu po resetování počtu položek. Tato hodnota může být kombinací následujících:

  • LVSICF_NOINVALIDATEALL Ovládací prvek zobrazení seznamu se nepřekreslí, pokud nejsou aktuálně v zobrazení ovlivněné položky. Tato hodnota je výchozí.
  • LVSICF_NOSCROLL Ovládací prvek zobrazení seznamu nezmění pozici posouvání při změně počtu položek.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Tato členská funkce implementuje chování makra Win32, ListView_SetItemCountExjak je popsáno v systému Windows SDKand by mělo být volána pouze pro zobrazení virtuálních seznamů.

Příklad

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

Nastaví 32bitovou (64bitovou, pokud kompilujete pro x64) hodnotu specifickou pro aplikaci přidruženou k položce určené nItem.

BOOL SetItemData(int nItem, DWORD_PTR dwData);

Parametry

nItem
Index položky seznamu, jejíž data mají být nastavena.

dwData
32bitová hodnota (64bitová verze, pokud kompilujete pro x64), která se má přidružit k položce.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tato hodnota je lParam členem LVITEM struktury, jak je popsáno v sadě Windows SDK.

Příklad

// 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

Nastaví stav položky v aktuálním ovládacím prvku zobrazení seznamu.

BOOL SetItemIndexState(
    PLVITEMINDEX pItemIndex,
    DWORD dwState,
    DWORD dwMask) const;

Parametry

pItemIndex
[v] Ukazatel na LVITEMINDEX strukturu, která popisuje položku. Volající zodpovídá za přidělení této struktury a nastavení jejích členů.

dwState
[v] Stav pro nastavení položky, což je bitové kombinace stavů položek zobrazení seznamu. Zadejte nulu, která se má resetovat, nebo stav, který chcete nastavit.

dwMask
[v] Maska platných bitů stavu určeného parametrem dwState . Zadejte bitové kombinace (OR) stavů položek zobrazení seznamu.

Návratová hodnota

TRUEpokud je tato metoda úspěšná; v opačném případě . FALSE

Poznámky

Další informace o parametru dwState naleznete v tématu Seznam zobrazit stavy položek.

Další informace o parametru dwMask najdete v stateMask členu LVITEM struktury.

Tato metoda odešle LVM_SETITEMINDEXSTATE zprávu popsanou v sadě Windows SDK.

CListCtrl::SetItemPosition

Přesune položku na zadanou pozici v ovládacím prvku zobrazení seznamu.

BOOL SetItemPosition(
    int nItem,
    POINT pt);

Parametry

nItem
Index položky, jejíž pozice má být nastavena.

pt
Struktura POINT určující novou pozici v souřadnicích zobrazení v levém horním rohu položky.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Ovládací prvek musí být v zobrazení ikony nebo malé ikony.

Pokud ovládací prvek zobrazení seznamu má LVS_AUTOARRANGE styl, je zobrazení seznamu uspořádáno po nastavení pozice položky.

Příklad

Podívejte se na příklad pro CListCtrl::GetItemPosition.

CListCtrl::SetItemState

Změní stav položky v ovládacím prvku zobrazení seznamu.

BOOL SetItemState(
    int nItem,
    LVITEM* pItem);

BOOL SetItemState(
    int nItem,
    UINT nState,
    UINT nMask);

Parametry

nItem
Index položky, jejíž stav má být nastaven. Předáním hodnoty -1 použijete změnu stavu u všech položek.

pItem
LVITEM Adresa struktury, jak je popsáno v sadě Windows SDK. Člen struktury stateMask určuje, které bity stavu se mají změnit, a člen struktury state obsahuje nové hodnoty pro tyto bity. Ostatní členové se ignorují.

nState
Nové hodnoty bitů stavu Seznam možných hodnot najdete CListCtrl::GetNextItem v LVITEM seznamu a člena státu.

nMask
Maska určující, které bity stavu se mají změnit. Tato hodnota odpovídá členu LVITEM stateMask struktury.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Stav položky je hodnota, která určuje dostupnost položky, označuje akce uživatele nebo jinak odráží stav položky. Ovládací prvek zobrazení seznamu změní některé bity stavu, například když uživatel vybere položku. Aplikace může změnit jiné bity stavu, aby položku zakázala nebo skrývala, nebo aby určila překryvný obrázek nebo obrázek stavu.

Příklad

Podívejte se na příklad pro CListCtrl::GetTopIndex.

CListCtrl::SetItemText

Změní text položky zobrazení seznamu nebo dílčí položky.

BOOL SetItemText(
    int nItem,
    int nSubItem,
    LPCTSTR lpszText);

Parametry

nItem
Index položky, jejíž text má být nastaven.

nSubItem
Index dílčí položky nebo nula pro nastavení popisku položky

lpszText
Ukazatel na řetězec, který obsahuje text nové položky.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Tato metoda není určená pro použití s ovládacími prvky obsahujícími LVS_OWNERDATA styl okna (ve skutečnosti to způsobí kontrolní výraz v buildech Debug). Další informace o tomto stylu ovládacího prvku seznamu naleznete v tématu Přehled ovládacích prvků zobrazení seznamu.

Příklad

Podívejte se na příklad pro CListCtrl::InsertItem.

CListCtrl::SetOutlineColor

Nastaví barvu ohraničení ovládacího prvku zobrazení seznamu, pokud je nastavený styl rozšířeného LVS_EX_BORDERSELECT okna.

COLORREF SetOutlineColor(COLORREF color);

Parametry

color
Nová COLORREF struktura obsahující barvu obrysu.

Návratová hodnota

Předchozí COLORREF struktura obsahující barvu obrysu

Poznámky

Tato členová funkce emuluje funkce LVM_SETOUTLINECOLOR zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::SetSelectedColumn

Nastaví vybraný sloupec ovládacího prvku zobrazení seznamu.

LRESULT SetSelectedColumn(int iCol);

Parametry

iCol
Index sloupce, který chcete vybrat.

Návratová hodnota

Vrácená hodnota se nepoužívá.

Poznámky

Tato členová funkce emuluje funkce LVM_SETSELECTEDCOLUMN zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::SetSelectionMark

Nastaví značku výběru ovládacího prvku zobrazení seznamu.

int SetSelectionMark(int iIndex);

Parametry

iIndex
Index založený na nule první položky ve vícenásobných výběrech.

Návratová hodnota

Předchozí značka výběru nebo -1, pokud nebyla žádná značka výběru.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_SetSelectionMarkjak je popsáno v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CListCtrl::GetSelectionMark.

CListCtrl::SetTextBkColor

Nastaví barvu pozadí textu v ovládacím prvku zobrazení seznamu.

BOOL SetTextBkColor(COLORREF cr);

Parametry

cr
Určuje COLORREF novou barvu pozadí textu. Informace najdete COLORREF v sadě Windows SDK.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Příklad

// 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

Nastaví barvu textu ovládacího prvku zobrazení seznamu.

BOOL SetTextColor(COLORREF cr);

Parametry

cr
Určuje COLORREF novou barvu textu. Informace najdete COLORREF v sadě Windows SDK.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Příklad

// 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

Nastaví informace pro dlaždici ovládacího prvku zobrazení seznamu.

BOOL SetTileInfo(PLVTILEINFO pTileInfo);

Parametry

pTileInfo
Ukazatel na LVTILEINFO strukturu obsahující informace, které se mají nastavit.

Návratová hodnota

Vrátí TRUE úspěch FALSE při selhání.

Poznámky

Tato členová funkce emuluje funkce LVM_SETTILEINFO zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::SetTileViewInfo

Nastaví informace, které ovládací prvek zobrazení seznamu používá v zobrazení dlaždic.

BOOL SetTileViewInfo(PLVTILEVIEWINFO ptvi);

Parametry

ptvi
Ukazatel na LVTILEVIEWINFO strukturu obsahující informace, které chcete nastavit.

Návratová hodnota

Vrátí TRUE úspěch FALSE při selhání.

Poznámky

Tato členová funkce emuluje funkce LVM_SETTILEVIEWINFO zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::SetToolTips

Nastaví ovládací prvek popisu, který bude ovládací prvek zobrazení seznamu používat k zobrazení popisů.

CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);

Parametry

pWndTip
Ukazatel na CToolTipCtrl objekt, který bude ovládací prvek seznamu používat.

Návratová hodnota

Ukazatel na CToolTipCtrl objekt obsahující popis, který ovládací prvek dříve používal, nebo NULL pokud nebyly dříve použity žádné popisy.

Poznámky

Tato členová funkce implementuje chování zprávy LVM_SETTOOLTIPSWin32, jak je popsáno v sadě Windows SDK.

Pokud nechcete popisy používat, označte LVS_NOTOOLTIPS styl při vytváření objektu CListCtrl .

CListCtrl::SetView

Nastaví zobrazení ovládacího prvku zobrazení seznamu.

DWORD SetView(int iView);

Parametry

iView
Zobrazení, které chcete vybrat.

Návratová hodnota

Vrátí hodnotu 1, pokud je úspěšná, nebo -1 v opačném případě. Pokud je například zobrazení neplatné, vrátí se hodnota -1.

Poznámky

Tato členová funkce emuluje funkce LVM_SETVIEW zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::SetWorkAreas

Nastaví oblast, kde se ikony dají zobrazit v ovládacím prvku zobrazení seznamu.

void SetWorkAreas(
    int nWorkAreas,
    LPRECT lpRect);

Parametry

nWorkAreas
Počet RECT struktur (nebo CRect objektů) v poli, na který lpRectodkazuje .

lpRect
Adresa pole RECT struktur (nebo CRect objektů), které určují nové pracovní oblasti ovládacího prvku zobrazení seznamu. Tyto oblasti musí být zadány v souřadnicích klienta. Pokud je NULLtento parametr , pracovní oblast bude nastavena na klientskou oblast ovládacího prvku.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_SetWorkAreasjak je popsáno v sadě Windows SDK.

Příklad

// Remove all working areas.
m_myListCtrl.SetWorkAreas(0, NULL);

CListCtrl::SortGroups

Používá funkci porovnání definovanou aplikací k řazení skupin podle ID v ovládacím prvku zobrazení seznamu.

BOOL SortGroups(
    PFNLVGROUPCOMPARE _pfnGroupCompare,
    LPVOID _plv);

Parametry

_pfnGroupCompare
Ukazatel na funkci porovnání skupin.

_plv
Ukazatel void.

Návratová hodnota

Vrátí TRUE úspěch FALSE při selhání.

Poznámky

Tato členová funkce emuluje funkce LVM_SORTGROUPS zprávy, jak je popsáno v sadě Windows SDK.

CListCtrl::SortItems

Seřadí položky zobrazení seznamu pomocí funkce porovnání definované aplikací.

BOOL SortItems(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

Parametry

pfnCompare
[v] Adresa funkce porovnání definované aplikací

Operace řazení volá funkci porovnání pokaždé, když je potřeba určit relativní pořadí dvou položek seznamu. Funkce porovnání musí být buď statickým členem třídy, nebo samostatnou funkcí, která není členem žádné třídy.

dwData
[v] Hodnota definovaná aplikací, která se předá funkci porovnání.

Návratová hodnota

TRUE pokud metoda proběhla úspěšně; jinak FALSE.

Poznámky

Tato metoda změní index každé položky tak, aby odrážela novou sekvenci.

Porovnávací funkce má pfnComparenásledující tvar:

int CALLBACK CompareFunc(LPARAM lParam1,
    LPARAM lParam2,
    LPARAM lParamSort);

Funkce porovnání musí vrátit zápornou hodnotu, pokud by první položka měla předcházet druhé, kladnou hodnotu, pokud má první položka následovat za druhou nebo nulou, pokud jsou dvě položky stejné.

Parametr lParam1 je 32bitová hodnota (64bitová, pokud kompilujete pro x64) přidruženou k první porovnávané položce a lParam2 parametr je hodnota přidružená k druhé položce. Jedná se o hodnoty, které byly zadány v lParam členu struktury položek LVITEM při jejich vložení do seznamu. Parametr lParamSort je stejný jako dwData hodnota.

Tato metoda odešle LVM_SORTITEMS zprávu popsanou v sadě Windows SDK.

Příklad

Následuje jednoduchá porovnávací funkce, která vede k seřazení položek podle jejich lParam hodnot.

// 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

Seřadí položky aktuálního ovládacího prvku zobrazení seznamu pomocí funkce porovnání definované aplikací.

BOOL SortItemsEx(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

Parametry

pfnCompare
[v] Adresa funkce porovnání definované aplikací Operace řazení volá funkci porovnání pokaždé, když je potřeba určit relativní pořadí dvou položek seznamu. Funkce porovnání musí být buď statickým členem třídy, nebo samostatnou funkcí, která není členem žádné třídy.

dwData
[v] Hodnota definovaná aplikací předaná funkci porovnání.

Návratová hodnota

TRUEpokud je tato metoda úspěšná; v opačném případě . FALSE

Poznámky

Tato metoda změní index každé položky tak, aby odrážela novou sekvenci.

Porovnávací funkce má pfnComparenásledující tvar:

int CALLBACK CompareFunc(LPARAM lParam1,
    LPARAM lParam2,
    LPARAM lParamSort);

Tato zpráva je podobná s LVM_SORTITEMSvýjimkou typu informací předaných funkci porovnání. lParam1 V LVM_SORTITEMSa lParam2 jsou hodnoty položek, které chcete porovnat. In LVM_SORTITEMSEXje lParam1 aktuální index první položky, která se má porovnat, a lParam2 je aktuálním indexem druhé položky. Můžete odeslat LVM_GETITEMTEXT zprávu, která načte další informace o položce.

Funkce porovnání musí vrátit zápornou hodnotu, pokud by první položka měla předcházet druhé, kladnou hodnotu, pokud má první položka následovat za druhou nebo nulou, pokud jsou dvě položky stejné.

Poznámka:

Během procesu řazení je obsah zobrazení seznamu nestabilní. Pokud funkce zpětného volání odešle jakékoli zprávy do jiného ovládacího prvku zobrazení seznamu než LVM_GETITEM, výsledky jsou nepředvídatelné.

Tato metoda odešle LVM_SORTITEMSEX zprávu popsanou v sadě Windows SDK.

Příklad

První příklad kódu definuje proměnnou, m_listCtrlkterá se používá pro přístup k aktuálnímu ovládacímu prvku zobrazení seznamu. Tato proměnná se používá v dalším příkladu.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

Následující příklad kódu ukazuje metodu SortItemEx . V předchozí části tohoto příkladu kódu jsme vytvořili ovládací prvek zobrazení seznamu, který v zobrazení sestavy zobrazuje dva sloupce s názvem "ClientID" a "Grade". Následující příklad kódu seřadí tabulku pomocí hodnot ve sloupci "Grade".

// 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

Určuje, která položka zobrazení seznamu je v případě potřeby na dané pozici.

int SubItemHitTest(LPLVHITTESTINFO pInfo);

Parametry

pInfo
Ukazatel na LVHITTESTINFO strukturu.

Návratová hodnota

Index jedné položky nebo dílčí položky, který se testuje (pokud existuje), nebo -1 jinak.

Poznámky

Tato členová funkce implementuje chování makra Win32, ListView_SubItemHitTestjak je popsáno v sadě Windows SDK.

Příklad

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

Vynutí ovládací prvek zobrazení seznamu k překreslení položky určené nItem.

BOOL Update(int nItem);

Parametry

nItem
Index položky, kterou chcete aktualizovat.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak nula.

Poznámky

Tato funkce také uspořádá ovládací prvek zobrazení seznamu, pokud má LVS_AUTOARRANGE styl.

Příklad

Podívejte se na příklad pro CListCtrl::GetSelectedCount.

Viz také

MFC Sample ROWLIST
CWnd Třída
Graf hierarchie
CImageList Třída