Freigeben über


CMFCShellTreeCtrl-Klasse

Die CMFCShellTreeCtrl Klasse erweitert die CTreeCtrl-Klassenfunktionalität , indem eine Hierarchie von Shellelementen angezeigt wird.

Ausführliche Informationen finden Sie im Quellcode des Ordners VC\atlmfc\src\mfc der Visual Studio-Installation.

Syntax

class CMFCShellTreeCtrl : public CTreeCtrl

Member

Öffentliche Methoden

Name Beschreibung
CMFCShellTreeCtrl::EnableShellContextMenu Aktiviert oder deaktiviert das Kontextmenü.
CMFCShellTreeCtrl::GetFlags Gibt eine Kombination von Flags zurück, die an IShellFolder::EnumObjects übergeben werden.
CMFCShellTreeCtrl::GetItemPath Ruft den Pfad zu einem Element ab.
CMFCShellTreeCtrl::GetRelatedList Gibt einen Zeiger auf das CMFCShellListCtrl Class -Objekt zurück, das zusammen mit diesem CMFCShellTreeCtrl Objekt zum Erstellen eines Explorer-ähnlichen Fensters verwendet wird.
CMFCShellTreeCtrl::OnChildNotify Diese Memberfunktion wird vom übergeordneten Fenster dieses Fensters aufgerufen, wenn sie eine Benachrichtigung empfängt, die für dieses Fenster gilt. (Außerkraftsetzungen CWnd::OnChildNotify.)
CMFCShellTreeCtrl::OnGetItemIcon
CMFCShellTreeCtrl::OnGetItemText
CMFCShellTreeCtrl::Refresh Aktualisiert und aktualisiert das aktuelle CMFCShellTreeCtrl Objekt.
CMFCShellTreeCtrl::SelectPath Wählt das entsprechende Struktursteuerelementelement basierend auf einem bereitgestellten PIDL- oder Zeichenfolgenpfad aus.
CMFCShellTreeCtrl::SetFlags Legt Flags fest, um den Strukturkontext zu filtern (ähnlich wie die von IShellFolder::EnumObjects).
CMFCShellTreeCtrl::SetRelatedList Legt eine Beziehung zwischen dem aktuellen CMFCShellTreeCtrl Objekt und einem CMFCShellListCtrl Objekt fest.

Hinweise

Diese Klasse erweitert die CTreeCtrl Klasse, indem Ihr Programm Windows Shell-Elemente in die Struktur aufnehmen kann. Diese Klasse kann einem CMFCShellListCtrl Objekt zugeordnet werden, um ein vollständiges Explorer-Fenster zu erstellen. Wenn Sie dann ein Element in der Struktur auswählen, wird eine Liste der Windows Shell-Elemente in der zugehörigen Liste angezeigt.

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CTreeCtrl

CMFCShellTreeCtrl

Anforderungen

Header: afxshelltreeCtrl.h

Beispiel

Im folgenden Beispiel wird gezeigt, wie ein Objekt der CMFCShellTreeCtrl-Klasse erstellt wird. Dieser Codeausschnitt ist Teil des Explorer-Beispiels.

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

Aktiviert das Kontextmenü.

void EnableShellContextMenu(BOOL bEnable = TRUE);

Parameter

bEnable
[in] Ein Boolescher Wert, der angibt, ob das Kontextmenü aktiviert werden soll.

CMFCShellTreeCtrl::GetFlags

Gibt die flags zurück, die für das CMFCShellTreeCtrl Class -Objekt festgelegt sind.

DWORD GetFlags() const;

Rückgabewert

Ein DWORD-Wert, der die Kombination der aktuell festgelegten Flags angibt.

Hinweise

Die in der CMFCShellTreeCtrl Methode festgelegten Flags werden immer dann an die Methode IShellFolder::EnumObjects gesendet, wenn das Objekt aktualisiert wird. Sie können die Flags mit der CMFCShellTreeCtrl::SetFlags-Methode ändern.

CMFCShellTreeCtrl::GetItemPath

Ruft den Pfad eines Elements im CMFCShellTreeCtrl Class -Objekt ab.

BOOL GetItemPath(
    CString& strPath,
    HTREEITEM htreeItem = NULL) const;

Parameter

strPath
[out] Ein Verweis auf einen Zeichenfolgenparameter. Die Methode schreibt den Pfad des Elements zu diesem Parameter.

htreeItem
[in] Die Methode ruft den Pfad für dieses Struktursteuerelementelement ab.

Rückgabewert

Nonzero bei erfolgreicher Ausführung; andernfalls 0.

Hinweise

Wenn diese Methode fehlschlägt, enthält strPath die leere Zeichenfolge.

Wenn Sie "hTreeItem" nicht angeben, versucht diese Methode, die Zeichenfolge für das aktuell ausgewählte Element abzurufen. Wenn kein Element ausgewählt ist und hTreeItem NULL ist, schlägt diese Methode fehl.

CMFCShellTreeCtrl::GetRelatedList

Gibt einen Zeiger auf das CMFCShellListCtrl Class -Objekt zurück, das diesem CMFCShellTreeCtrl -Objekt zugeordnet ist.

CMFCShellListCtrl* GetRelatedList() const;

Rückgabewert

Ein Zeiger auf das CMFCShellListCtrl Objekt, das diesem Struktursteuerelementobjekt zugeordnet ist.

Hinweise

Wenn Sie ein CMFCShellListCtrl Objekt zusammen mit einem CMFCShellTreeCtrl Objekt verwenden, können Sie ein Explorer-ähnliches Fenster erstellen. Verwenden Sie die Methode CMFCShellTreeCtrl::SetRelatedList , um die beiden Klassen zuzuordnen. Nachdem sie zugeordnet wurden, aktualisiert das Framework automatisch, CMFCShellListCtrl ob sich die Auswahl in der CMFCShellTreeCtrl Änderung ändert.

CMFCShellTreeCtrl::OnChildNotify

virtual BOOL OnChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pLResult);

Parameter

[in] Nachricht
[in] wParam
[in] lParam
[in] pLResult

Rückgabewert

Bemerkungen

CMFCShellTreeCtrl::OnGetItemIcon

virtual int OnGetItemIcon(
    LPAFX_SHELLITEMINFO pItem,
    BOOL bSelected);

Parameter

[in] pItem
[in] bSelected

Rückgabewert

Bemerkungen

CMFCShellTreeCtrl::OnGetItemText

virtual CString OnGetItemText(LPAFX_SHELLITEMINFO pItem);

Parameter

[in] pItem

Rückgabewert

Bemerkungen

CMFCShellTreeCtrl::Refresh

Aktualisiert und aktualisiert die CMFCShellTreeCtrl.

void Refresh();

Hinweise

Rufen Sie diese Methode auf, um die Hierarchie der in der CMFCShellTreeCtrlDatei angezeigten Elemente zu aktualisieren.

CMFCShellTreeCtrl::SelectPath

Wählt ein Element in der CMFCShellTreeCtrl-Klasse basierend auf dem angegebenen Pfad aus.

BOOL SelectPath(LPCTSTR lpszPath);
BOOL SelectPath(LPCITEMIDLIST lpidl);

Parameter

lpszPath
[in] Eine Zeichenfolge, die den Pfad eines Elements angibt.

lpidl
[in] Eine PIDL, die das Element angibt

Rückgabewert

bei erfolgreicher Ausführung S_OK; andernfalls E_FAIL.

CMFCShellTreeCtrl::SetFlags

Legt Flags fest, um den Strukturkontext zu filtern.

void SetFlags(
    DWORD dwFlags,
    BOOL bRefresh = TRUE);

Parameter

dwFlags
[in] Die festzulegenden Flags.

bRefresh
[in] Ein Boolescher Wert, der angibt, ob die CMFCShellTreeCtrl Aktualisierung sofort erfolgen soll.

Hinweise

Alle CMFCShellTreeCtrl festgelegten Flags werden an IShellFolder::EnumObjects übergeben. Weitere Informationen zu den Werten verschiedener Flags finden Sie unter IShellFolder::EnumObjects.

CMFCShellTreeCtrl::SetRelatedList

Ordnet ein CMFCShellListCtrl -Objekt einem CMFCShellTreeCtrl -Objekt zu.

void SetRelatedList(CMFCShellListCtrl* pShellList);

Parameter

pShellList
[Eingabe] Ein Zeiger auf ein CMFCShellListCtrl-Objekt

Hinweise

Diese Methode ordnet einer CMFCShellListCtrl .CMFCShellTreeCtrl Diese Objekte werden möglicherweise als Explorer-ähnliches Fenster angezeigt: Wenn der Benutzer ein Objekt im CMFCShellTreeCtrlFenster auswählt, werden die zugehörigen Elemente in der CMFCShellListCtrl Datei automatisch aktualisiert.

Verwenden Sie die Methode CMFCShellTreeCtrl::GetRelatedList , um das CMFCShellListCtrl zugeordnete Objekt CMFCShellTreeCtrlabzurufen.

Siehe auch

Hierarchiediagramm
Klassen
CTreeCtrl-Klasse
CMFCShellListCtrl-Klasse