Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Implementa vários métodos que permitem trabalhar com apontadores para listas de identificadores (PIDLs).
Sintaxe
class CShellManager : public CObject
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CShellManager::CShellManager | Constrói um CShellManager objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
| CShellManager::BrowseForFolder | Apresenta uma caixa de diálogo que permite ao utilizador selecionar uma pasta shell. |
| CShellManager::ConcatenateItem | Concatena dois PIDLs. |
| CShellManager::CopyItem | Cria um novo PIDL e copia o PIDL fornecido para ele. |
| CShellManager::CreateItem | Cria um novo PIDL do tamanho especificado. |
| CShellManager::ItemGrátis | Elimina o PIDL fornecido. |
| CShellManager::GetItemCount | Devolve o número de artigos no PIDL fornecido. |
| CShellManager::GetItemSize | Devolve o tamanho do PIDL fornecido. |
| CShellManager::GetNextItem | Devolve o próximo artigo do PIDL. |
| CShellManager::GetParentItem | Recupera o item pai do item fornecido. |
| CShellManager::ItemFromPath | Recupera o PIDL do item identificado pelo caminho fornecido. |
Observações
Os métodos da CShellManager aula lidam todos com PIDLs. Um PIDL é um identificador único para um objeto shell.
Não deves criar um CShellManager objeto manualmente. Será criado automaticamente pelo framework da sua aplicação. No entanto, deve ligar para CWinAppEx::InitShellManager durante o processo de inicialização da sua aplicação. Para obter um indicador para o gestor de shell da sua aplicação, ligue para CWinAppEx::GetShellManager.
Hierarquia de herança
Requerimentos
Cabeçalho: afxshellmanager.h
CShellManager::BrowseForFolder
Apresenta uma caixa de diálogo que permite ao utilizador selecionar uma pasta shell.
BOOL BrowseForFolder(
CString& strOutFolder,
CWnd* pWndParent = NULL,
LPCTSTR lplszInitialFolder = NULL,
LPCTSTR lpszTitle = NULL,
UINT ulFlags = BIF_RETURNONLYFSDIRS,
LPINT piFolderImage = NULL);
Parâmetros
strOutFolder
[fora] A cadeia usada pelo método para armazenar o caminho da pasta selecionada.
pWndParent
[dentro] Um apontador para a janela principal.
lplszInitialFolder
[dentro] Uma cadeia que contém a pasta selecionada por defeito quando a caixa de diálogo é exibida.
lpszTítulo
[dentro] O título da caixa de diálogo.
ulFlags
[dentro] Flags a especificar opções para a caixa de diálogo. Consulte BROWSEINFO para a descrição detalhada.
piFolderImage
[fora] Um ponteiro para o valor inteiro onde o método escreve o índice da imagem da pasta selecionada.
Valor de retorno
Diferente de zero se o utilizador selecionar uma pasta na caixa de diálogo; caso contrário, 0.
Observações
Ao chamar este método, a aplicação cria e mostra uma caixa de diálogo que permite ao utilizador selecionar uma pasta. O método irá escrever o caminho da pasta no parâmetro strOutFolder .
Example
O exemplo seguinte demonstra como recuperar uma referência a um CShellManager objeto usando o CWinAppEx::GetShellManager método e como utilizá-lo BrowseForFolder . Este excerto de código faz parte do exemplo do Explorer.
CString strPath;
// The this pointer points to the CExplorerView class which extends the CView class.
// CMFCShellListCtrl m_wndList
if (m_wndList.GetCurrentFolder(strPath) &&
theApp.GetShellManager()->BrowseForFolder(strPath,
this, strPath, _T("Copy the selected item(s) to the folder:")))
{
MessageBox(CString(_T("The selected path is: ")) + strPath);
}
CShellManager::ConcatenateItem
Cria uma nova lista contendo dois PIDLs.
LPITEMIDLIST ConcatenateItem(
LPCITEMIDLIST pidl1,
LPCITEMIDLIST pidl2);
Parâmetros
pidl1
[dentro] O primeiro item.
PIDL2
[dentro] O segundo ponto.
Valor de retorno
Um apontador para a nova lista de itens se a função tiver sucesso, caso contrário NULL.
Observações
Este método cria um novo ITEMIDLIST suficientemente grande para conter tanto pidl1 como pidl2. Depois copia pidl1 e pidl2 para a nova lista.
CShellManager::CopyItem
Copia uma lista de itens.
LPITEMIDLIST CopyItem(LPCITEMIDLIST pidlSource);
Parâmetros
pidlSource
[dentro] A lista original de itens.
Valor de retorno
Um apontador para a lista de itens recém-criada, se bem-sucedido; caso contrário, NULL.
Observações
A lista de itens recém-criada tem o mesmo tamanho da lista de itens de origem.
CShellManager::CreateItem
Cria uma nova PIDL.
LPITEMIDLIST CreateItem(UINT cbSize);
Parâmetros
cbSize
[dentro] O tamanho da lista de itens.
Valor de retorno
Um apontador para a lista de itens criados se bem-sucedido; caso contrário, NULL.
CShellManager::CShellManager
Constrói um CShellManager objeto.
CShellManager();
Observações
Na maioria dos casos, não é necessário criar uma CShellManager carta direta. Por defeito, o framework cria um para si. Para obter uma indicação para , CShellManagerligue para CWinAppEx::GetShellManager. Se criar um CShellManager manualmente, deve inicializá-lo com o método CWinAppEx::InitShellManager.
CShellManager::ItemGrátis
Apaga uma lista de itens.
void FreeItem(LPITEMIDLIST pidl);
Parâmetros
pidl
[dentro] Uma lista de itens para apagar.
CShellManager::GetItemCount
Devolve o número de itens numa lista de itens.
UINT GetItemCount(LPCITEMIDLIST pidl);
Parâmetros
pidl
[dentro] Um indicador para uma lista de itens.
Valor de retorno
O número de itens na lista de itens.
CShellManager::GetItemSize
Devolve o tamanho de uma lista de itens.
UINT GetItemSize(LPCITEMIDLIST pidl);
Parâmetros
pidl
[dentro] Um indicador para uma lista de itens.
Valor de retorno
O tamanho da lista de itens.
CShellManager::GetNextItem
Recupera o próximo item a partir de um apontador para uma lista de identificadores de itens (PIDL).
LPITEMIDLIST GetNextItem(LPCITEMIDLIST pidl);
Parâmetros
pidl
[dentro] A lista de itens a iterar.
Valor de retorno
Um indicador para o próximo item da lista.
Observações
Se não houver mais itens na lista, este método devolve NULL.
CShellManager::GetParentItem
Recupera o pai de um apontador para uma lista de identificadores de itens (PIDL).
int GetParentItem(
LPCITEMIDLIST lpidl,
LPITEMIDLIST& lpidlParent);
Parâmetros
lpidl
[dentro] Um PIDL cujo progenitor será recuperado.
lpidlPai
[fora] Uma referência a um PIDL onde o método armazena o resultado.
Valor de retorno
O nível do PIDL parental.
Observações
O nível de um PIDL é relativo ao ambiente de trabalho. Considera-se que o PIDL do desktop tem um nível 0.
CShellManager::ItemFromPath
Recupera o ponteiro para uma lista de identificadores de itens (PIDL) a partir do item identificado por um caminho de string.
HRESULT ItemFromPath(
LPCTSTR lpszPath,
LPITEMIDLIST& pidl);
Parâmetros
lpszPath
[dentro] Uma cadeia que especifica o caminho do item.
pidl
[fora] Uma referência a um PIDL. O método utiliza este PIDL para armazenar o ponteiro para o seu valor de retorno.
Valor de retorno
Retorna NOERROR se bem-sucedido; um valor de erro definido por OLE.