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
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