Compartilhar via


Classe CMFCShellTreeCtrl

A classe CMFCShellTreeCtrl estende a funcionalidade da Classe CTreeCtrl exibindo uma hierarquia de itens do Shell.

Para obter mais detalhes, confira o código-fonte localizado na pasta VC\atlmfc\src\mfc de sua instalação do Visual Studio.

Sintaxe

class CMFCShellTreeCtrl : public CTreeCtrl

Membros

Métodos públicos

Nome Descrição
CMFCShellTreeCtrl::EnableShellContextMenu Habilita ou desabilita o menu de atalho.
CMFCShellTreeCtrl::GetFlags Retorna uma combinação de sinalizadores que são passados para IShellFolder::EnumObjects.
CMFCShellTreeCtrl::GetItemPath Recupera o caminho para um item.
CMFCShellTreeCtrl::GetRelatedList Retorna um ponteiro para o objeto da Classe CMFCShellListCtrl que é usado junto com este objeto CMFCShellTreeCtrl para criar uma janela semelhante ao Explorer.
CMFCShellTreeCtrl::OnChildNotify Essa função membro é chamada pela janela pai desta janela quando recebe uma mensagem de notificação que se aplica a essa janela. (Overrides CWnd::OnChildNotify.)
CMFCShellTreeCtrl::OnGetItemIcon
CMFCShellTreeCtrl::OnGetItemText
CMFCShellTreeCtrl::Refresh Atualiza e redesenha o objeto CMFCShellTreeCtrl atual.
CMFCShellTreeCtrl::SelectPath Seleciona o item de controle de árvore apropriado com base em um caminho de cadeia de caracteres ou PIDL fornecido.
CMFCShellTreeCtrl::SetFlags Define os sinalizadores para filtrar o contexto da árvore (semelhante aos sinalizadores usados por IShellFolder::EnumObjects).
CMFCShellTreeCtrl::SetRelatedList Define uma relação entre o objeto CMFCShellTreeCtrl atual e um objeto CMFCShellListCtrl.

Comentários

Essa classe estende a classe CTreeCtrl permitindo que o programa inclua itens do Windows Shell na árvore. Essa classe pode ser associada a um objeto CMFCShellListCtrl para criar uma janela completa do Explorer. Em seguida, selecionar um item na árvore exibirá uma lista de itens do Windows Shell na lista associada.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CTreeCtrl

CMFCShellTreeCtrl

Requisitos

Cabeçalho: afxshelltreeCtrl.h

Exemplo

O exemplo a seguir demonstra como criar um objeto da classe CMFCShellTreeCtrl. Este snippet de código faz parte do exemplo do 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

Habilita o menu de atalho.

void EnableShellContextMenu(BOOL bEnable = TRUE);

Parâmetros

bEnable
[in] Um Booliano que especifica se o menu de atalho deve ser habilitado.

CMFCShellTreeCtrl::GetFlags

Retorna o conjunto de sinalizadores para o objeto classe CMFCShellTreeCtrl.

DWORD GetFlags() const;

Valor de retorno

Um valor DWORD que especifica a combinação de sinalizadores definidos atualmente.

Comentários

Os sinalizadores definidos no CMFCShellTreeCtrl serão enviados para o método IShellFolder::EnumObjects sempre que o objeto for atualizado. É possível alterar os sinalizadores com o método CMFCShellTreeCtrl::SetFlags.

CMFCShellTreeCtrl::GetItemPath

Recupera o caminho de um item no objeto de Classe CMFCShellTreeCtrl.

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

Parâmetros

strPath
[out] Uma referência a um parâmetro de cadeia de caracteres. O método grava o caminho do item nesse parâmetro.

htreeItem
[in] O método recupera o caminho para esse item de controle de árvore.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Se esse método falhar, strPath conterá a cadeia de caracteres vazia.

Se você não especificar hTreeItem, esse método tentará obter a cadeia de caracteres para o item selecionado no momento. Se nenhum item for selecionado e hTreeItem for NULL, esse método falhará.

CMFCShellTreeCtrl::GetRelatedList

Retorna um ponteiro para o objeto de Classe CMFCShellListCtrl associado a este objeto CMFCShellTreeCtrl .

CMFCShellListCtrl* GetRelatedList() const;

Valor de retorno

Um ponteiro para o objeto CMFCShellListCtrl associado a esse objeto de controle de árvore.

Comentários

Usando um objeto CMFCShellListCtrl junto com um objeto CMFCShellTreeCtrl, será possível criar uma janela semelhante ao Explorer. Use o método CMFCShellTreeCtrl::SetRelatedList para associar as duas classes. Depois que são associados, a estrutura atualizará automaticamente o CMFCShellListCtrl se a seleção no CMFCShellTreeCtrl for alterada.

CMFCShellTreeCtrl::OnChildNotify

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

Parâmetros

[in] message
[in] wParam
[in] lParam
[in] pLResult

Valor de retorno

Comentários

CMFCShellTreeCtrl::OnGetItemIcon

virtual int OnGetItemIcon(
    LPAFX_SHELLITEMINFO pItem,
    BOOL bSelected);

Parâmetros

[in] pItem
[in] bSelected

Valor de retorno

Comentários

CMFCShellTreeCtrl::OnGetItemText

virtual CString OnGetItemText(LPAFX_SHELLITEMINFO pItem);

Parâmetros

[in] pItem

Valor de retorno

Comentários

CMFCShellTreeCtrl::Refresh

Atualiza e redesenha o CMFCShellTreeCtrl.

void Refresh();

Comentários

Chame esse método para atualizar a hierarquia dos itens exibidos no CMFCShellTreeCtrl.

CMFCShellTreeCtrl::SelectPath

Seleciona um item na Classe CMFCShellTreeCtrl com base no caminho fornecido.

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

Parâmetros

lpszPath
[in] Uma cadeia de caracteres que especifica o caminho de um item.

lpidl
[in] Um PIDL que especifica o item.

Valor de retorno

S_OK se for bem-sucedido, caso contrário, E_FAIL.

CMFCShellTreeCtrl::SetFlags

Define os sinalizadores para filtrar o contexto da árvore.

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

Parâmetros

dwFlags
[in] Os sinalizadores a serem definidos.

bRefresh
[in] Um Booliano que especifica se o CMFCShellTreeCtrl deverá ser atualizado imediatamente.

Comentários

O CMFCShellTreeCtrl passa todos os sinalizadores de conjunto para IShellFolder::EnumObjects. Para obter mais informações sobre os valores dos diferentes sinalizadores, consulte IShellFolder::EnumObjects.

CMFCShellTreeCtrl::SetRelatedList

Associa um objeto CMFCShellListCtrl a um objeto CMFCShellTreeCtrl.

void SetRelatedList(CMFCShellListCtrl* pShellList);

Parâmetros

pShellList
[in] Um ponteiro para um objeto CMFCShellListCtrl.

Comentários

Esse método associa um CMFCShellListCtrl a um CMFCShellTreeCtrl. Esses objetos poderão ser exibidos como uma janela do tipo Explorer: se o usuário selecionar um objeto no CMFCShellTreeCtrl, os itens associados no CMFCShellListCtrl serão atualizados automaticamente.

Use o método CMFCShellTreeCtrl::GetRelatedList para recuperar o CMFCShellListCtrl associado a um CMFCShellTreeCtrl.

Confira também

Gráfico da hierarquia
Classes
Classe CTreeCtrl
Classe CMFCShellListCtrl