CMFCShellTreeCtrl – třída
Třída CMFCShellTreeCtrl
rozšiřuje funkce třídy CTreeCtrl zobrazením hierarchie položek prostředí.
Další podrobnosti najdete ve zdrojovém kódu ve složce VC\atlmfc\src\mfc instalace sady Visual Studio.
Syntaxe
class CMFCShellTreeCtrl : public CTreeCtrl
Členové
Veřejné metody
Název | Popis |
---|---|
CMFCShellTreeCtrl::EnableShellContextMenu | Povolí nebo zakáže místní nabídku. |
CMFCShellTreeCtrl::GetFlags | Vrátí kombinaci příznaků, které jsou předány IShellFolder::EnumObjects. |
CMFCShellTreeCtrl::GetItemPath | Načte cestu k položce. |
CMFCShellTreeCtrl::GetRelatedList | Vrátí ukazatel na CMFCShellListCtrl Class objekt, který se používá společně s tímto CMFCShellTreeCtrl objektem k vytvoření okna podobné průzkumníku. |
CMFCShellTreeCtrl::OnChildNotify | Tato členská funkce je volána nadřazeným oknem tohoto okna, když obdrží zprávu s oznámením, která platí pro toto okno. (Přepsání CWnd::OnChildNotify.) |
CMFCShellTreeCtrl::OnGetItemicon | |
CMFCShellTreeCtrl::OnGetItemText | |
CMFCShellTreeCtrl::Refresh | Aktualizuje a znovu nakreslí aktuální CMFCShellTreeCtrl objekt. |
CMFCShellTreeCtrl::SelectPath | Vybere příslušnou položku ovládacího prvku stromu na základě zadané cesty PIDL nebo řetězce. |
CMFCShellTreeCtrl::SetFlags | Nastaví příznaky pro filtrování kontextu stromu (podobně jako příznaky používané ).IShellFolder::EnumObjects |
CMFCShellTreeCtrl::SetRelatedList | Nastaví vztah mezi aktuálním CMFCShellTreeCtrl objektem a objektem CMFCShellListCtrl . |
Poznámky
Tato třída rozšiřuje CTreeCtrl
třídu tím, že umožňuje programu zahrnout položky prostředí Windows Shell do stromu. Tato třída může být přidružena k objektu CMFCShellListCtrl
k vytvoření úplného okna Průzkumníka. Po výběru položky ve stromu se v přidruženém seznamu zobrazí seznam položek prostředí Windows.
Hierarchie dědičnosti
CMFCShellTreeCtrl
Požadavky
Hlavička: afxshelltreeCtrl.h
Příklad
Následující příklad ukazuje, jak vytvořit objekt CMFCShellTreeCtrl
třídy. Tento fragment kódu je součástí ukázky Průzkumníka.
CMFCShellTreeCtrl m_wndShellTree;
// const int idTree = 1
CRect rectDummy(0, 0, 0, 0);
const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | TVS_HASLINES |
TVS_LINESATROOT | TVS_HASBUTTONS;
// The this pointer points to CFolderBar class which extends the CDockablePane class
m_wndShellTree.Create(dwViewStyle, rectDummy, this, idTree);
CMFCShellTreeCtrl::EnableShellContextMenu
Povolí místní nabídku.
void EnableShellContextMenu(BOOL bEnable = TRUE);
Parametry
bEnable
[v] Logická hodnota, která určuje, jestli se má místní nabídka povolit.
CMFCShellTreeCtrl::GetFlags
Vrátí příznaky nastavené pro CMFCShellTreeCtrl Třída objektu.
DWORD GetFlags() const;
Návratová hodnota
Hodnota DWORD, která určuje kombinaci aktuálně nastavených příznaků.
Poznámky
Příznaky nastavené v objektu CMFCShellTreeCtrl
jsou odeslány do metody IShellFolder::EnumObjects při každé aktualizaci objektu. Příznaky můžete změnit pomocí metody CMFCShellTreeCtrl::SetFlags .
CMFCShellTreeCtrl::GetItemPath
Načte cestu k položce v OBJEKTu CMFCShellTreeCtrl Class .
BOOL GetItemPath(
CString& strPath,
HTREEITEM htreeItem = NULL) const;
Parametry
strPath
[ven] Odkaz na řetězcový parametr. Metoda zapíše cestu položky k tomuto parametru.
htreeItem
[v] Metoda načte cestu pro tuto položku ovládacího prvku stromu.
Návratová hodnota
Nenulové, pokud je úspěšné; 0 jinak.
Poznámky
Pokud tato metoda selže, strPath obsahuje prázdný řetězec.
Pokud nezadáte hTreeItem, tato metoda se pokusí získat řetězec pro aktuálně vybranou položku. Pokud není vybrána žádná položka a hTreeItem je NULL, tato metoda selže.
CMFCShellTreeCtrl::GetRelatedList
Vrátí ukazatel na CMFCShellListCtrl Class objektu, který je přidružen k tomuto CMFCShellTreeCtrl objektu.
CMFCShellListCtrl* GetRelatedList() const;
Návratová hodnota
Ukazatel na objekt přidružený k tomuto objektu CMFCShellListCtrl
ovládacího prvku stromu.
Poznámky
Pomocí objektu CMFCShellListCtrl
společně s objektem CMFCShellTreeCtrl
můžete vytvořit okno podobné Průzkumníku. K přidružení dvou tříd použijte metodu CMFCShellTreeCtrl::SetRelatedList . Jakmile jsou přidružené, architektura automaticky aktualizuje CMFCShellListCtrl
, pokud se výběr ve změnách CMFCShellTreeCtrl
změní.
CMFCShellTreeCtrl::OnChildNotify
virtual BOOL OnChildNotify(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pLResult);
Parametry
[v] zpráva
[v] wParam
[v] lParam
[v] pLResult
Návratová hodnota
Poznámky
CMFCShellTreeCtrl::OnGetItemicon
virtual int OnGetItemIcon(
LPAFX_SHELLITEMINFO pItem,
BOOL bSelected);
Parametry
[v] pItem
[v] bSelected
Návratová hodnota
Poznámky
CMFCShellTreeCtrl::OnGetItemText
virtual CString OnGetItemText(LPAFX_SHELLITEMINFO pItem);
Parametry
[v] pItem
Návratová hodnota
Poznámky
CMFCShellTreeCtrl::Refresh
Aktualizuje a znovu nakreslí CMFCShellTreeCtrl.
void Refresh();
Poznámky
Voláním této metody aktualizujte hierarchii položek zobrazených v souboru CMFCShellTreeCtrl
.
CMFCShellTreeCtrl::SelectPath
Vybere položku ve třídě CMFCShellTreeCtrl na základě zadané cesty.
BOOL SelectPath(LPCTSTR lpszPath);
BOOL SelectPath(LPCITEMIDLIST lpidl);
Parametry
lpszPath
[v] Řetězec, který určuje cestu k položce.
lpidl
[v] PIDL, který určuje položku
Návratová hodnota
S_OK v případě úspěchu; E_FAIL jinak.
CMFCShellTreeCtrl::SetFlags
Nastaví příznaky pro filtrování kontextu stromu.
void SetFlags(
DWORD dwFlags,
BOOL bRefresh = TRUE);
Parametry
dwFlags
[v] Příznaky, které chcete nastavit.
bRefresh
[v] Logická hodnota, která určuje, jestli CMFCShellTreeCtrl
se má aktualizovat okamžitě.
Poznámky
Předá CMFCShellTreeCtrl
všechny příznaky sady do IShellFolder::EnumObjects. Další informace o hodnotách různých příznaků naleznete v tématu IShellFolder::EnumObjects.
CMFCShellTreeCtrl::SetRelatedList
Přidruží CMFCShellListCtrl objekt k objektu CMFCShellTreeCtrl .
void SetRelatedList(CMFCShellListCtrl* pShellList);
Parametry
pShellList
[v] Ukazatel na CMFCShellListCtrl
objekt.
Poznámky
Tato metoda přidruží k CMFCShellListCtrl
.CMFCShellTreeCtrl
Tyto objekty se můžou zobrazit jako okno podobné Průzkumníku: pokud uživatel vybere objekt v objektu CMFCShellTreeCtrl
, přidružené položky v objektu CMFCShellListCtrl
se automaticky aktualizují.
Použijte metodu CMFCShellTreeCtrl::GetRelatedList k načtení CMFCShellListCtrl
přidružené k objektu CMFCShellTreeCtrl
.
Viz také
Graf hierarchie
Třídy
CTreeCtrl – třída
CMFCShellListCtrl – třída