Sdílet prostřednictvím


CMFCShellListCtrl – třída

Třída CMFCShellListCtrl poskytuje funkce ovládacích prvků seznamu systému Windows a rozšiřuje ji zahrnutím možnosti zobrazit seznam položek prostředí.

Syntaxe

class CMFCShellListCtrl : public CMFCListCtrl

Členové

Veřejné metody

Jméno popis
CMFCShellListCtrl::D isplayFolder Zobrazí seznam položek obsažených v zadané složce.
CMFCShellListCtrl::D isplayParentFolder Zobrazí seznam položek obsažených ve složce, která je nadřazenou položkou aktuálně zobrazené složky.
CMFCShellListCtrl::EnableShellContextMenu Povolí nebo zakáže místní nabídku.
CMFCShellListCtrl::GetCurrentFolder Načte cestu k aktuální složce.
CMFCShellListCtrl::GetCurrentFolderName Načte název aktuální složky.
CMFCShellListCtrl::GetCurrentItemIdList Vrátí PIDL aktuální položky ovládacího prvku seznamu.
CMFCShellListCtrl::GetCurrentShellFolder Vrátí ukazatel na aktuální složku Prostředí.
CMFCShellListCtrl::GetItemPath Vrátí textovou cestu položky.
CMFCShellListCtrl::GetItemTypes Vrátí typy položek prostředí, které jsou zobrazeny ovládacím prvku seznam.
CMFCShellListCtrl::IsDesktop Zkontroluje, jestli je aktuálně vybraná složka složkou plochy.
CMFCShellListCtrl::OnCompareItems Architektura volá tuto metodu při porovnávání dvou položek. (Přepsání CMFCListCtrl::OnCompareItems.)
CMFCShellListCtrl::OnFormatFileDate Volá se, když architektura načte datum souboru zobrazené ovládacím prvku seznamu.
CMFCShellListCtrl::OnFormatFileSize Volá se při převodu velikosti souboru ovládacího prvku seznamu.
CMFCShellListCtrl::OnGetItemicon Volá se, když architektura načte ikonu položky ovládacího prvku seznamu.
CMFCShellListCtrl::OnGetItemText Volá se při převodu textu položky ovládacího prvku seznamu.
CMFCShellListCtrl::OnSetColumns Volá se rozhraním, když nastaví názvy sloupců.
CMFCShellListCtrl::Refresh Aktualizuje a znovu nakreslí ovládací prvek seznamu.
CMFCShellListCtrl::SetItemTypes Nastaví typ položek zobrazených ovládacím prvek seznamem.

Poznámky

Třída CMFCShellListCtrl rozšiřuje funkce CMFCListCtrl Třídy tím, že program umožňuje vypsat položky prostředí Systému Windows. Použitý formát zobrazení je podobný formátu zobrazení seznamu pro okno Průzkumníka.

Objekt CMFCShellTreeCtrl lze přidružit k objektu CMFCShellListCtrl a vytvořit tak úplné okno Průzkumníka. Potom výběrem položky v objektu CMFCShellTreeCtrl vypíšete CMFCShellListCtrl obsah vybrané položky.

Příklad

Následující příklad ukazuje, jak vytvořit objekt CMFCShellListCtrl třídy a jak zobrazit nadřazenou složku aktuálně zobrazené složky. Tento fragment kódu je součástí ukázky Průzkumníka.

CMFCShellListCtrl m_wndList;
CRect rectDummy(0, 0, 0, 0);
// The this pointer points to CExplorerView class which extends the CView class.
m_wndList.Create(WS_CHILD | WS_VISIBLE | LVS_REPORT, rectDummy, this, 1);
m_wndList.DisplayParentFolder();

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

Cwnd

CListCtrl

CMFCListCtrl

CMFCShellListCtrl

Požadavky

Hlavička: afxshelllistCtrl.h

CMFCShellListCtrl::D isplayFolder

Zobrazí seznam položek obsažených v zadané složce.

virtual HRESULT DisplayFolder(LPCTSTR lpszPath);
virtual HRESULT DisplayFolder(LPAFX_SHELLITEMINFO lpItemInfo);

Parametry

lpszPath
[v] Řetězec, který obsahuje cestu ke složce.

lpItemInfo
[v] Ukazatel na LPAFX_SHELLITEMINFO strukturu popisující složku, která se má zobrazit.

Vrácená hodnota

S_OK v případě úspěchu; E_FAIL jinak.

CMFCShellListCtrl::D isplayParentFolder

AktualizaceCMFCShellListCtrl objekt pro zobrazení nadřazené složky aktuálně zobrazené složky.

virtual HRESULT DisplayParentFolder();

Vrácená hodnota

S_OK v případě úspěchu; E_FAIL jinak.

CMFCShellListCtrl::EnableShellContextMenu

Povolí místní nabídku.

void EnableShellContextMenu(BOOL bEnable = TRUE);

Parametry

bEnable
[v] Logická hodnota, která určuje, jestli architektura povoluje místní nabídku.

CMFCShellListCtrl::GetCurrentFolder

Načte cestu aktuálně vybrané složky v objektu CMFCShellListCtrl .

BOOL GetCurrentFolder(CString& strPath) const;

Parametry

strPath
[ven] Odkaz na řetězcový parametr, kde metoda zapisuje cestu.

Vrácená hodnota

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

Poznámky

Tato metoda selže, pokud není vybrána žádná složka v souboru CMFCShellListCtrl.

CMFCShellListCtrl::GetCurrentFolderName

Načte název aktuálně vybrané složky v objektu CMFCShellListCtrl .

BOOL GetCurrentFolderName(CString& strName) const;

Parametry

strName
[ven] Odkaz na řetězcový parametr, ve kterém metoda zapíše název.

Vrácená hodnota

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

Poznámky

Tato metoda selže, pokud není vybrána žádná složka v souboru CMFCShellListCtrl.

CMFCShellListCtrl::GetCurrentItemIdList

Vrátí PIDL aktuálně vybrané položky.

LPITEMIDLIST GetCurrentItemIdList() const;

Vrácená hodnota

PIDL aktuální položky.

CMFCShellListCtrl::GetCurrentShellFolder

Získá ukazatel na aktuálně vybranou položku v CMFCShellListCtrl objektu.

const IShellFolder* GetCurrentShellFolder() const;

Vrácená hodnota

Ukazatel na rozhraní IShellFolder pro vybraný objekt.

Poznámky

Tato metoda vrátí hodnotu NULL, pokud není aktuálně vybrán žádný objekt.

CMFCShellListCtrl::GetItemPath

Načte cestu pro položku.

BOOL GetItemPath(
    CString& strPath,
    int iItem) const;

Parametry

strPath
[ven] Odkaz na řetězec, který obdrží cestu.

iItem
[v] Index položky seznamu.

Vrácená hodnota

TRUE v případě úspěchu; JINAK NEPRAVDA.

Poznámky

Index zadaný iItem je založen na položkách aktuálně zobrazených CMFCShellListCtrl Class objektu.

CMFCShellListCtrl::GetItemTypes

Vrátí typ položek zobrazených objektem CMFCShellListCtrl .

SHCONTF GetItemTypes() const;

Vrácená hodnota

Hodnota SHCONTF, která obsahuje typ položek uvedených v seznamu CMFCShellListCtrl.

Poznámky

Chcete-li nastavit typ položek uvedených v CMFCShellListCtrlcmFCShellListCtrl ::SetItemTypes.

CMFCShellListCtrl::IsDesktop

Určuje, zda složka, která je zobrazena v CMFCShellListCtrl objektu je složka plochy.

BOOL IsDesktop() const;

Vrácená hodnota

TRUE, pokud zobrazená složka je desktopová složka; JINAK NEPRAVDA.

CMFCShellListCtrl::OnCompareItems

Další podrobnosti najdete ve zdrojovém kódu ve složce VC\atlmfc\src\mfc instalace sady Visual Studio.

virtual int OnCompareItems(
    LPARAM lParam1,
    LPARAM lParam2,
    int iColumn);

Parametry

[v] lParam1
[v] lParam2
[v] iColumn

Vrácená hodnota

Poznámky

CMFCShellListCtrl::OnFormatFileDate

Architektura volá tuto metodu, když musí převést datum přidružené k objektu na řetězec.

virtual void OnFormatFileDate(
    const CTime& tmFile,
    CString& str);

Parametry

tmFile
[v] Datum přidružené k souboru.

Str
[ven] Řetězec, který obsahuje formátované datum souboru.

Poznámky

Když CMFCShellListCtrl Class objekt zobrazí datum přidružené k souboru, musí toto datum převést na formát řetězce. Tato CMFCShellListCtrl metoda tuto metodu používá k provedení tohoto převodu. Ve výchozím nastavení tato metoda používá aktuální národní prostředí k formátování data do řetězce.

CMFCShellListCtrl::OnFormatFileSize

Architektura volá tuto metodu při převodu velikosti objektu na řetězec.

virtual void OnFormatFileSize(
    long lFileSize,
    CString& str);

Parametry

lFileSize
[v] Velikost souboru, který bude architektura zobrazovat.

Str
[ven] Řetězec, který obsahuje formátovanou velikost souboru.

Poznámky

Když CMFCShellListCtrl Class objekt musí zobrazit velikost souboru, musí převést velikost souboru do formátu řetězce. Tato CMFCShellListCtrl metoda tuto metodu používá k provedení tohoto převodu. Ve výchozím nastavení tato metoda převede velikost souboru z bajtů na kilobajtů a pak použije aktuální národní prostředí k formátování velikosti do řetězce.

CMFCShellListCtrl::OnGetItemicon

Architektura volá tuto metodu k načtení ikony přidružené k položce seznamu prostředí.

virtual int OnGetItemIcon(
    int iItem,
    LPAFX_SHELLITEMINFO pItem);

Parametry

iItem
[v] Index položky.

pItem
[v] Parametr LPAFX_SHELLITEMINFO, který popisuje položku.

Vrácená hodnota

Index obrázku ikony v případě úspěchu; -1, pokud funkce selže.

Poznámky

Index image ikony je založený na seznamu systémových imagí.

Ve výchozím nastavení tato metoda spoléhá na parametr pItem . Hodnota iItem se ve výchozí implementaci nepoužívá. IItem můžete použít k implementaci vlastního chování.

CMFCShellListCtrl::OnGetItemText

Architektura volá tuto metodu, když musí načíst text položky prostředí.

virtual CString OnGetItemText(
    int iItem,
    int iColumn,
    LPAFX_SHELLITEMINFO pItem);

Parametry

iItem
[v] Index položky.

iColumn
[v] Sloupec zájmu.

pItem
[v] Parametr LPAFX_SHELLITEMINFO, který popisuje položku.

Vrácená hodnota

A CString , který obsahuje text přidružený k položce.

Poznámky

Každá položka v objektu CMFCShellListCtrl může mít text v jednom nebo více sloupcích. Když architektura volá tuto metodu, určuje sloupec, který má zájem. Pokud tuto funkci zavoláte ručně, musíte také zadat sloupec, který vás zajímá.

Ve výchozím nastavení tato metoda spoléhá na parametr pItem k určení položky, která se má zpracovat. Hodnota iItem se ve výchozí implementaci nepoužívá.

CMFCShellListCtrl::OnSetColumns

Architektura volá tuto metodu při nastavování názvů sloupců.

virtual void OnSetColumns();

Poznámky

Ve výchozím nastavení architektura vytvoří v objektu CMFCShellListCtrl čtyři sloupce. Názvy těchto sloupců jsou Název, Velikost, Typ a Změněno. Tuto metodu můžete přepsat tak, aby se přizpůsobil počet sloupců a jejich názvů.

CMFCShellListCtrl::Refresh

Aktualizuje a znovu nakreslí objekt CMFCShellListCtrl .

virtual HRESULT Refresh();

Vrácená hodnota

S_OK v případě úspěchu; v opačném případě se jedná o chybovou hodnotu.

Poznámky

Voláním této metody aktualizujte seznam položek zobrazených objektem CMFCShellListCtrl .

CMFCShellListCtrl::SetItemTypes

Nastaví typ položek, které jsou uvedeny v CMFCShellListCtrl objektu.

void SetItemTypes(SHCONTF nTypes);

Parametry

nTypes
[v] Seznam typů položek, které CMFCShellListCtrl objekt podporuje.

Poznámky

Další informace o seznamu typů položek naleznete v tématu SHCONTF.

Viz také

Graf hierarchie
Třídy
CMFCListCtrl – třída
CMFCShellTreeCtrl – třída