Interface IACList (shlobj_core.h)

Expõe um método que melhora a eficiência do preenchimento automático quando as cadeias de caracteres candidatas são organizadas em uma hierarquia.

Herança

A interface IACList herda da interface IUnknown . IACList também tem estes tipos de membros:

Métodos

A interface IACList tem esses métodos.

 
IACList::Expand

Solicita que o cliente de preenchimento automático gere cadeias de caracteres candidatas associadas a um item especificado em seu namespace.

Comentários

O preenchimento automático normalmente requer os três componentes a seguir:

  • O cliente de preenchimento automático. Esse cliente é uma janela, como uma caixa de diálogo, que hospeda o controle de edição.
  • O objeto de preenchimento automático (CLSID_AutoComplete). Esse objeto é fornecido pelo sistema e manipula a interface do usuário, a análise e o gerenciamento de threads em segundo plano.
  • O objeto de lista de preenchimento automático. Esse objeto é responsável por fornecer listas de cadeias de caracteres candidatas ao objeto de preenchimento automático.
Um objeto de lista de preenchimento automático simples precisa apenas exportar IEnumString além de IUnknown. Quando o usuário insere caracteres na caixa de edição, o objeto de preenchimento automático chama a interface IEnumString do objeto de lista para enumerar a lista de cadeias de caracteres que podem ser usadas para concluir a cadeia de caracteres parcial. O objeto de lista mantém um namespace e decide quais dessas cadeias de caracteres são relevantes.

A abordagem mais simples que um objeto de lista usa é retornar todas as cadeias de caracteres em seu namespace sempre que o objeto de preenchimento automático fizer uma solicitação. Para obter uma discussão sobre como implementar esse tipo de objeto de lista, consulte IAutoComplete. No entanto, essa abordagem só será prática se o namespace for relativamente pequeno. Quando um grande número de cadeias de caracteres está envolvido, o objeto de lista deve restringir-se a um pequeno subconjunto do namespace.

A interface IACList é exportada por objetos de lista de preenchimento automático para ajudá-los a escolher um subconjunto sensato de cadeias de caracteres de um namespace hierarquicamente organizado. Com um namespace grande, esse procedimento aumenta substancialmente a eficiência do preenchimento automático. O procedimento básico é o seguinte:

  1. O objeto de preenchimento automático chama a interface IEnumString do objeto de lista. O objeto list retorna os nomes dos itens de nível superior na hierarquia. Por exemplo, se o namespace consistir em cada arquivo e pasta na unidade C:, o objeto list retornará os caminhos totalmente qualificados das pastas e arquivos contidos no diretório C:\.
  2. O usuário continua digitando até entrar em um delimitador. Os caracteres '\' e '/' são reconhecidos como delimitadores pelo objeto de preenchimento automático.
  3. O objeto de preenchimento automático chama o método IACList::Expand do objeto de lista e passa a cadeia de caracteres parcial atual.
  4. O objeto de preenchimento automático chama a interface IEnumString do objeto de lista novamente para solicitar uma nova lista de cadeias de caracteres. Se a cadeia de caracteres parcial corresponder a um dos itens de nível superior no namespace, o objeto de lista retornará os nomes dos itens que ficam imediatamente abaixo do item selecionado. Por exemplo, se o usuário tiver inserido "C:\Arquivos de Programas\", o objeto de lista retornará os nomes dos arquivos e pastas contidos nesse diretório. Se o nome passado para IACList::Expand não corresponder a nenhum item de nível superior, o objeto de lista poderá simplesmente parar de retornar cadeias de caracteres até que o objeto de preenchimento automático chame IACList::Expand com uma cadeia de caracteres que está no namespace do objeto de lista.
  5. O processo continua até que o usuário selecione uma cadeia de caracteres, normalmente pressionando a tecla ENTER .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shlobj_core.h