Partilhar via


Classe CMFCShellListCtrl

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.

A CMFCShellListCtrl classe fornece funcionalidade de controlo de listas do Windows e expande-a ao incluir a capacidade de mostrar uma lista de itens do shell.

Sintaxe

class CMFCShellListCtrl : public CMFCListCtrl

Membros

Métodos Públicos

Nome Description
CMFCShellListCtrl::D isplayFolder Apresenta uma lista de itens contidos numa pasta fornecida.
CMFCShellListCtrl::D isplayParentFolder Mostra uma lista de itens contidos na pasta que é o pai da pasta atualmente apresentada.
CMFCShellListCtrl::EnableShellContextMenu Ativa ou desativa o menu de atalho.
CMFCShellListCtrl::GetCurrentFolder Recupera o caminho da pasta atual.
CMFCShellListCtrl::GetCurrentFolderName Recupera o nome da pasta atual.
CMFCShellListCtrl::GetCurrentItemIdList Devolve o PIDL do item atual de controlo da lista.
CMFCShellListCtrl::GetCurrentShellFolder Devolve um ponteiro para a pasta atual do Shell.
CMFCShellListCtrl::GetItemPath Devolve o caminho textual de um item.
CMFCShellListCtrl::GetItemTypes Devolve Tipos de itens da Shell que são exibidos pelo controlo da lista.
CMFCShellListCtrl::IsDesktop Verifica se a pasta atualmente selecionada é a pasta do ambiente de trabalho.
CMFCShellListCtrl::OnCompareItems A estrutura chama a este método quando compara dois itens. (Sobrepõe CMFCListCtrl::OnCompareItems.)
CMFCShellListCtrl::OnFormatFileDate Chamado quando o framework recupera a data do ficheiro apresentada pelo controlo de lista.
CMFCShellListCtrl::OnFormatFileSize Chamado quando o framework converte o tamanho do ficheiro de um controlo de lista.
CMFCShellListCtrl::OnGetItemIcon Chamado quando o framework recupera o ícone de um item de controlo de lista.
CMFCShellListCtrl::OnGetItemText Chamada quando a framework converte o texto de um item de controlo de lista.
CMFCShellListCtrl::OnSetColumns Chamada pelo framework quando define os nomes das colunas.
CMFCShellListCtrl::Refresh Atualiza e repinta o controlo da lista.
CMFCShellListCtrl::SetItemTypes. Define o tipo de itens apresentados pelo controlo de lista.

Observações

A CMFCShellListCtrl classe estende a funcionalidade da Classe CMFCListCtrl ao permitir que o seu programa liste itens do shell do Windows. O formato de visualização utilizado é semelhante ao de uma vista de lista para uma janela do Explorador.

Um objeto CMFCShellTreeCtrl pode ser associado a um CMFCShellListCtrl objeto para criar uma janela completa do Explorador. Depois, ao selecionar um item em , CMFCShellTreeCtrl o CMFCShellListCtrl objeto irá listar o conteúdo do item selecionado.

Example

O exemplo seguinte demonstra como criar um objeto da CMFCShellListCtrl classe e como mostrar a pasta principal da pasta atualmente apresentada. Este excerto de código faz parte do exemplo do Explorer.

CMFCShellListCtrl m_wndList;
CRect rectDummy(0, 0, 0, 0);
// The this pointer points to CExplorerView class which extends the CView class.
m_wndList.Create(WS_CHILD | WS_VISIBLE | LVS_REPORT, rectDummy, this, 1);
m_wndList.DisplayParentFolder();

Hierarquia de herança

CObject

CCmdTarget

CWnd

CListCtrl

CMFCListCtrl

CMFCShellListCtrl

Requerimentos

Cabeçalho: afxshelllistCtrl.h

CMFCShellListCtrl::D isplayFolder

Apresenta uma lista de itens contidos na pasta fornecida.

virtual HRESULT DisplayFolder(LPCTSTR lpszPath);
virtual HRESULT DisplayFolder(LPAFX_SHELLITEMINFO lpItemInfo);

Parâmetros

lpszPath
[dentro] Uma cadeia que contém o caminho de uma pasta.

lpItemInfo
[dentro] Um apontador para uma LPAFX_SHELLITEMINFO estrutura que descreve uma pasta a exibir.

Valor de retorno

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

CMFCShellListCtrl::D isplayParentFolder

Atualiza o objeto CMFCShellListCtrl para mostrar a pasta principal da pasta atualmente apresentada.

virtual HRESULT DisplayParentFolder();

Valor de retorno

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

CMFCShellListCtrl::EnableShellContextMenu

Ativa o menu de atalhos.

void EnableShellContextMenu(BOOL bEnable = TRUE);

Parâmetros

bEnable
[dentro] Um booleano que especifica se o framework permite o menu de atalho.

CMFCShellListCtrl::GetCurrentFolder

Recupera o caminho da pasta atualmente selecionada no objeto CMFCShellListCtrl .

BOOL GetCurrentFolder(CString& strPath) const;

Parâmetros

strPath
[fora] Uma referência a um parâmetro de string onde o método escreve o caminho.

Valor de retorno

Não nulo se for bem-sucedido; 0 caso contrário.

Observações

Este método falha se não houver nenhuma pasta selecionada no CMFCShellListCtrlarquivo .

CMFCShellListCtrl::GetCurrentFolderName

Recupera o nome da pasta atualmente selecionada no objeto CMFCShellListCtrl .

BOOL GetCurrentFolderName(CString& strName) const;

Parâmetros

strName
[fora] Uma referência a um parâmetro de cadeia onde o método escreve o nome.

Valor de retorno

Não nulo se for bem-sucedido; 0 caso contrário.

Observações

Este método falha se não houver nenhuma pasta selecionada no CMFCShellListCtrlarquivo .

CMFCShellListCtrl::GetCurrentItemIdList

Devolve o PIDL do item atualmente selecionado.

LPITEMIDLIST GetCurrentItemIdList() const;

Valor de retorno

O PIDL do item atual.

CMFCShellListCtrl::GetCurrentShellFolder

Recebe um ponteiro para o item atualmente selecionado no objeto CMFCShellListCtrl .

const IShellFolder* GetCurrentShellFolder() const;

Valor de retorno

Um apontador para a Interface IShellFolder para o objeto selecionado.

Observações

Este método devolve NULL se não for selecionado nenhum objeto no momento.

CMFCShellListCtrl::GetItemPath

Recupera o caminho de um item.

BOOL GetItemPath(
    CString& strPath,
    int iItem) const;

Parâmetros

strPath
[fora] Uma referência a uma cadeia que recebe o caminho.

iItem
[dentro] O índice do item da lista.

Valor de retorno

VERDADEIRO se for bem-sucedido; FALSO, caso contrário.

Observações

O índice fornecido pelo iItem baseia-se nos itens atualmente apresentados pelo objeto CMFCShellListCtrl Class .

CMFCShellListCtrl::GetItemTypes

Devolve o tipo de itens apresentados pelo objeto CMFCShellListCtrl .

SHCONTF GetItemTypes() const;

Valor de retorno

Um valor SHCONTF que contém o tipo de itens listados no CMFCShellListCtrlarquivo .

Observações

Para definir o tipo de itens listados num CMFCShellListCtrl, chame CMFCShellListCtrl::SetItemTypes.

CMFCShellListCtrl::IsDesktop

Determina se a pasta que é exibida no objeto CMFCShellListCtrl é a pasta do ambiente de trabalho.

BOOL IsDesktop() const;

Valor de retorno

TRUE se a pasta apresentada for a pasta do ambiente de trabalho; FALSO, caso contrário.

CMFCShellListCtrl::OnCompareItems

Para mais detalhes, consulte o código-fonte localizado na pasta VC\atlmfc\src\mfc da sua instalação no Visual Studio.

virtual int OnCompareItems(
    LPARAM lParam1,
    LPARAM lParam2,
    int iColumn);

Parâmetros

[dentro] lParam1
[dentro] lParam2
[dentro] iColumn

Valor de retorno

Observações

CMFCShellListCtrl::OnFormatFileDate

O framework chama a este método quando tem de converter a data associada a um objeto numa string.

virtual void OnFormatFileDate(
    const CTime& tmFile,
    CString& str);

Parâmetros

tmFile
[dentro] A data associada a um ficheiro.

STR
[fora] Uma cadeia que contém a data do ficheiro formatada.

Observações

Quando um objeto CMFCShellListCtrl Class apresenta a data associada a um ficheiro, deve converter essa data para um formato de string. Usa CMFCShellListCtrl este método para fazer essa conversão. Por defeito, este método usa a localização atual para formatar a data numa cadeia.

CMFCShellListCtrl::OnFormatFileSize

O framework chama este método quando converte o tamanho de um objeto numa cadeia.

virtual void OnFormatFileSize(
    long lFileSize,
    CString& str);

Parâmetros

lFileSize
[dentro] O tamanho do ficheiro que o framework irá mostrar.

STR
[fora] Uma cadeia que contém o tamanho do ficheiro formatado.

Observações

Quando um objeto de classe CMFCShellListCtrl precisa de mostrar o tamanho de um ficheiro, tem de converter o tamanho do ficheiro para um formato de string. Usa CMFCShellListCtrl este método para fazer essa conversão. Por defeito, este método converte o tamanho do ficheiro de bytes para kilobytes e depois usa a localização atual para formatar o tamanho em string.

CMFCShellListCtrl::OnGetItemIcon

O framework chama este método para recuperar o ícone associado a um item da lista de shells.

virtual int OnGetItemIcon(
    int iItem,
    LPAFX_SHELLITEMINFO pItem);

Parâmetros

iItem
[dentro] O índice de itens.

pItem
[dentro] Um parâmetro LPAFX_SHELLITEMINFO que descreve o item.

Valor de retorno

O índice da imagem do ícone se for bem-sucedido; -1 se a função falhar.

Observações

O índice de imagens de ícones baseia-se na lista de imagens do sistema.

Por defeito, este método baseia-se no parâmetro pItem . O valor do iItem não é usado na implementação padrão. Pode usar o iItem para implementar comportamentos personalizados.

CMFCShellListCtrl::OnGetItemText

O framework chama a este método quando tem de recuperar o texto de um item shell.

virtual CString OnGetItemText(
    int iItem,
    int iColumn,
    LPAFX_SHELLITEMINFO pItem);

Parâmetros

iItem
[dentro] O índice de itens.

iColumn
[dentro] A coluna de interesse.

pItem
[dentro] Um parâmetro LPAFX_SHELLITEMINFO que descreve o item.

Valor de retorno

A CString que contém o texto associado ao item.

Observações

Cada item do CMFCShellListCtrl objeto pode ter texto numa ou mais colunas. Quando a estrutura chama este método, especifica a coluna que lhe interessa. Se chamar esta função manualmente, deve também especificar a coluna que lhe interessa.

Por defeito, este método depende do parâmetro pItem para determinar qual item processar. O valor do iItem não é usado na implementação padrão.

CMFCShellListCtrl::OnSetColumns

A estrutura chama este método quando define os nomes das colunas.

virtual void OnSetColumns();

Observações

Por defeito, o framework cria quatro colunas num CMFCShellListCtrl objeto. Os nomes destas colunas são Nome, Tamanho, Tipo e Modificado. Pode sobrescrever este método para personalizar o número de colunas e os seus nomes.

CMFCShellListCtrl::Refresh

Atualiza e repinta o objeto CMFCShellListCtrl .

virtual HRESULT Refresh();

Valor de retorno

S_OK se for bem-sucedido; caso contrário, um valor de erro.

Observações

Chame este método para atualizar a lista de itens apresentados pelo CMFCShellListCtrl objeto.

CMFCShellListCtrl::SetItemTypes.

Define o tipo de itens listados no objeto CMFCShellListCtrl .

void SetItemTypes(SHCONTF nTypes);

Parâmetros

nTipos
[dentro] Uma lista dos tipos de itens que o CMFCShellListCtrl objeto suporta.

Observações

Para mais informações sobre a lista de tipos de itens, consulte SHCONTF.

Consulte também

Gráfico de Hierarquia
Classes
Classe CMFCListCtrl
Classe CMFCShellTreeCtrl