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
Název | 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
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.
Návratová hodnota
S_OK v případě úspěchu; E_FAIL jinak.
CMFCShellListCtrl::D isplayParentFolder
Aktualizuje CMFCShellListCtrl objekt pro zobrazení nadřazené složky aktuálně zobrazené složky.
virtual HRESULT DisplayParentFolder();
Návratová 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.
Návratová 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.
Návratová 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;
Návratová hodnota
PIDL aktuální položky.
CMFCShellListCtrl::GetCurrentShellFolder
Získá ukazatel na aktuálně vybranou položku v CMFCShellListCtrl objektu.
const IShellFolder* GetCurrentShellFolder() const;
Návratová 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.
Návratová 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;
Návratová hodnota
Hodnota SHCONTF, která obsahuje typ položek uvedených v seznamu CMFCShellListCtrl
.
Poznámky
Chcete-li nastavit typ položek uvedených v CMFCShellListCtrl
cmFCShellListCtrl ::SetItemTypes.
CMFCShellListCtrl::IsDesktop
Určuje, zda složka, která je zobrazena v CMFCShellListCtrl objektu je složka plochy.
BOOL IsDesktop() const;
Návratová 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
Návratová 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.
Návratová 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.
Návratová 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();
Návratová 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