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::InsertItem
CListCtrl::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
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_ApproximateViewRect
jak 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 pParentWnd
klienta .
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_GetBkImage
jak 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_GetCheckState
jak 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_GetColumnOrderArray
jak 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_GetExtendedListViewStyle
jak 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
TRUE
pokud 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_listCtrl
která 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
TRUE
pokud 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_listCtrl
která 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_GetHeader
jak 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_GetHotCursor
jak 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_GetHotItem
jak 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_GetHoverTime
jak 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 ikonamiLVSIL_SMALL
Seznam obrázků s malými ikonamiLVSIL_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
TRUE
pokud 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_listCtrl
která 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
TRUE
pokud 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 lpszText
odkazuje .
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
TRUE
pokud 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_GetNumberOfWorkAreas
jak 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_GetSelectionMark
jak 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 lpsz
odkazuje .
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é jakoLVIR_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_GetSubItemRect
jak 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_GETTOOLTIPS
Win32, 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_GetWorkAreas
jak 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_BELOW
LVHT_TOLEFT
a 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_ONITEMLABEL
a 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_RIGHT
nebo 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_OWNERDRAW
je ). 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
TRUE
pokud 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_listCtrl
která 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_SetColumnOrderArray
jak 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_SetExtendedListViewStyle
jak 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_SetHotCursor
jak 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_SetHotItem
jak 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_SetHoverTime
jak 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_SetIconSpacing
jak 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 ikonamiLVSIL_SMALL
Seznam obrázků s malými ikonamiLVSIL_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
ČlenpszText
nebolpszItem
parametr je adresa řetězce ukončeného hodnotou null. ČlencchTextMax
je ignorován.LVIF_STATE
ČlenstateMask
nebonStateMask
parametr určuje, které stavy položek se mají změnit, astate
člen nebonState
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_SetItemCount
jak 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_SetItemCountEx
jak 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
TRUE
pokud 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_SetSelectionMark
jak 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_SETTOOLTIPS
Win32, 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ý lpRect
odkazuje .
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 NULL
tento parametr , pracovní oblast bude nastavena na klientskou oblast ovládacího prvku.
Poznámky
Tato členová funkce implementuje chování makra Win32, ListView_SetWorkAreas
jak 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á pfnCompare
ná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
TRUE
pokud 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á pfnCompare
následující tvar:
int CALLBACK CompareFunc(LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
Tato zpráva je podobná s LVM_SORTITEMS
výjimkou typu informací předaných funkci porovnání. lParam1
V LVM_SORTITEMS
a lParam2
jsou hodnoty položek, které chcete porovnat. In LVM_SORTITEMSEX
je 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_listCtrl
která 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_SubItemHitTest
jak 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