Condividi tramite


Classe CMFCShellTreeCtrl

La CMFCShellTreeCtrl classe estende la funzionalità della classe CTreeCtrl visualizzando una gerarchia di elementi della shell.

Per altri dettagli, vedere il codice sorgente che si trova nella cartella VC\atlmfc\src\mfc dell'installazione di Visual Studio.

Sintassi

class CMFCShellTreeCtrl : public CTreeCtrl

Membri

Metodi pubblici

Nome Descrizione
CMFCShellTreeCtrl::EnableShellContextMenu Abilita o disabilita il menu di scelta rapida.
CMFCShellTreeCtrl::GetFlags Restituisce una combinazione di flag passati a IShellFolder::EnumObjects.
CMFCShellTreeCtrl::GetItemPath Recupera il percorso di un elemento.
CMFCShellTreeCtrl::GetRelatedList Restituisce un puntatore all'oggetto Classe CMFCShellListCtrl utilizzato insieme a questo CMFCShellTreeCtrl oggetto per creare una finestra simile a Explorer.
CMFCShellTreeCtrl::OnChildNotify Questa funzione membro viene chiamata dalla finestra padre di questa finestra quando riceve un messaggio di notifica applicabile a questa finestra. (sostituzioni )CWnd::OnChildNotify.
CMFCShellTreeCtrl::OnGetItemIcon
CMFCShellTreeCtrl::OnGetItemText
CMFCShellTreeCtrl::Refresh Aggiorna e aggiorna l'oggetto corrente CMFCShellTreeCtrl .
CMFCShellTreeCtrl::SelectPath Seleziona l'elemento di controllo albero appropriato in base a un percorso PIDL o stringa fornito.
CMFCShellTreeCtrl::SetFlags Imposta i flag per filtrare il contesto della struttura ad albero (simile ai flag usati da IShellFolder::EnumObjects).
CMFCShellTreeCtrl::SetRelatedList Imposta una relazione tra l'oggetto corrente CMFCShellTreeCtrl e un CMFCShellListCtrl oggetto .

Osservazioni:

Questa classe estende la classe abilitando il CTreeCtrl programma per includere gli elementi della shell di Windows nell'albero. Questa classe può essere associata a un CMFCShellListCtrl oggetto per creare una finestra completa di Explorer. Quindi, selezionando un elemento nell'albero verrà visualizzato un elenco di elementi della shell di Windows nell'elenco associato.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CTreeCtrl

CMFCShellTreeCtrl

Requisiti

Intestazione: afxshelltreeCtrl.h

Esempio

Nell'esempio riportato di seguito viene illustrato come creare un oggetto della classe CMFCShellTreeCtrl. Questo frammento di codice fa parte dell'esempio explorer.

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

Abilita il menu di scelta rapida.

void EnableShellContextMenu(BOOL bEnable = TRUE);

Parametri

bEnable
[in] Valore booleano che specifica se abilitare il menu di scelta rapida.

CMFCShellTreeCtrl::GetFlags

Restituisce i flag impostati per l'oggetto Classe CMFCShellTreeCtrl.

DWORD GetFlags() const;

Valore restituito

Valore DWORD che specifica la combinazione di flag attualmente impostati.

Osservazioni:

I flag impostati in CMFCShellTreeCtrl vengono inviati al metodo IShellFolder::EnumObjects ogni volta che l'oggetto viene aggiornato. È possibile modificare i flag con il metodo CMFCShellTreeCtrl::SetFlags .

CMFCShellTreeCtrl::GetItemPath

Recupera il percorso di un elemento nell'oggetto Classe CMFCShellTreeCtrl.

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

Parametri

strPath
[out] Riferimento a un parametro stringa. Il metodo scrive il percorso dell'elemento in questo parametro.

htreeItem
[in] Il metodo recupera il percorso per questo elemento del controllo albero.

Valore restituito

Valore diverso da zero in caso di esito positivo, 0 in caso contrario.

Osservazioni:

Se questo metodo ha esito negativo, strPath contiene la stringa vuota.

Se non si specifica hTreeItem, questo metodo tenta di ottenere la stringa per l'elemento attualmente selezionato. Se non è selezionato alcun elemento e hTreeItem è NULL, questo metodo ha esito negativo.

CMFCShellTreeCtrl::GetRelatedList

Restituisce un puntatore all'oggetto Classe CMFCShellListCtrl associato a questo oggetto CMFCShellTreeCtrl .

CMFCShellListCtrl* GetRelatedList() const;

Valore restituito

Puntatore all'oggetto CMFCShellListCtrl associato a questo oggetto controllo albero.

Osservazioni:

Usando un CMFCShellListCtrl oggetto insieme a un CMFCShellTreeCtrl oggetto, è possibile creare una finestra simile a Explorer. Usare il metodo CMFCShellTreeCtrl::SetRelatedList per associare le due classi. Dopo l'associazione, il framework aggiorna automaticamente se CMFCShellListCtrl la selezione viene CMFCShellTreeCtrl modificata.

CMFCShellTreeCtrl::OnChildNotify

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

Parametri

[in] Messaggio
[in] Wparam
[in] Lparam
[in] pLResult

Valore restituito

Osservazioni:

CMFCShellTreeCtrl::OnGetItemIcon

virtual int OnGetItemIcon(
    LPAFX_SHELLITEMINFO pItem,
    BOOL bSelected);

Parametri

[in] pItem
[in] bSelected

Valore restituito

Osservazioni:

CMFCShellTreeCtrl::OnGetItemText

virtual CString OnGetItemText(LPAFX_SHELLITEMINFO pItem);

Parametri

[in] pItem

Valore restituito

Osservazioni:

CMFCShellTreeCtrl::Refresh

Aggiorna e aggiorna CMFCShellTreeCtrl.

void Refresh();

Osservazioni:

Chiamare questo metodo per aggiornare la gerarchia degli elementi visualizzati in CMFCShellTreeCtrl.

CMFCShellTreeCtrl::SelectPath

Seleziona un elemento nella classe CMFCShellTreeCtrl in base al percorso specificato.

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

Parametri

lpszPath
[in] Stringa che specifica il percorso di un elemento.

lpidl
[in] PIDL che specifica l'elemento

Valore restituito

S_OK se ha esito positivo; E_FAIL in caso contrario.

CMFCShellTreeCtrl::SetFlags

Imposta i flag per filtrare il contesto della struttura ad albero.

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

Parametri

dwFlags
[in] Flag da impostare.

bRefresh
[in] Valore booleano che specifica se deve CMFCShellTreeCtrl essere aggiornato immediatamente.

Osservazioni:

CMFCShellTreeCtrl Passa tutti i flag set a IShellFolder::EnumObjects. Per altre informazioni sui valori di flag diversi, vedere IShellFolder::EnumObjects.

CMFCShellTreeCtrl::SetRelatedList

Associa un oggetto CMFCShellListCtrl a un oggetto CMFCShellTreeCtrl .

void SetRelatedList(CMFCShellListCtrl* pShellList);

Parametri

pShellList
[in] Puntatore a un CMFCShellListCtrl oggetto .

Osservazioni:

Questo metodo associa un oggetto CMFCShellListCtrl a un oggetto CMFCShellTreeCtrl. Questi oggetti possono essere visualizzati come una finestra simile a Esplora risorse: se l'utente seleziona un oggetto in CMFCShellTreeCtrl, gli elementi associati in CMFCShellListCtrl verranno aggiornati automaticamente.

Usare il metodo CMFCShellTreeCtrl::GetRelatedList per recuperare l'oggetto CMFCShellListCtrl associato a un oggetto CMFCShellTreeCtrl.

Vedi anche

Grafico della gerarchia
Classi
Classe CTreeCtrl
Classe CMFCShellListCtrl