Função SHAutoComplete (shlwapi.h)

Instrui os controles de edição do sistema a usar o Preenchimento Automático para ajudar a concluir URLs ou caminhos do sistema de arquivos.

Sintaxe

LWSTDAPI SHAutoComplete(
  [in] HWND  hwndEdit,
       DWORD dwFlags
);

Parâmetros

[in] hwndEdit

Digite: HWND

O identificador de janela de um controle de edição do sistema. Normalmente, esse parâmetro é o identificador de um controle de edição ou o controle de edição inserido em um controle ComboBoxEx .

dwFlags

Tipo: DWORD

Os sinalizadores para controlar a operação do SHAutoComplete. Os quatro primeiros sinalizadores são usados para substituir as configurações do Registro de Explorer da Internet. O usuário pode alterar essas configurações manualmente iniciando a folha de propriedades Opções da Internet no menu Ferramentas e clicando na guia Avançado .

SHACF_AUTOAPPEND_FORCE_OFF (0x80000000)

Ignore o padrão do Registro e force o recurso AutoAppend desativado. Esse sinalizador deve ser usado em combinação com um ou mais sinalizadores SHACF_FILESYS* ou SHACF_URL*.

SHACF_AUTOAPPEND_FORCE_ON (0x40000000)

Ignore o valor do Registro e force o recurso AutoAppend ativado. A cadeia de caracteres concluída será exibida na caixa de edição com os caracteres adicionados realçados. Esse sinalizador deve ser usado em combinação com um ou mais sinalizadores SHACF_FILESYS* ou SHACF_URL*.

SHACF_AUTOSUGGEST_FORCE_OFF (0x20000000)

Ignore o padrão do Registro e force o recurso AutoSuggest desativado. Esse sinalizador deve ser usado em combinação com um ou mais sinalizadores SHACF_FILESYS* ou SHACF_URL*.

SHACF_AUTOSUGGEST_FORCE_ON (0x10000000)

Ignore o valor do Registro e force o recurso Sugestão Automática. Uma seleção de cadeias de caracteres possíveis concluídas será exibida como uma lista suspensa, abaixo da caixa de edição. Esse sinalizador deve ser usado em combinação com um ou mais sinalizadores SHACF_FILESYS* ou SHACF_URL*.

SHACF_DEFAULT (0x00000000)

A configuração padrão, equivalente a SHACF_FILESYSTEM | SHACF_URLALL. SHACF_DEFAULT não pode ser combinado com nenhum outro sinalizador.

SHACF_FILESYS_ONLY (0x00000010)

Inclua somente o sistema de arquivos.

SHACF_FILESYS_DIRS (0x00000020)

Inclua o sistema de arquivos e diretórios, servidores UNC e compartilhamentos de servidor UNC.

SHACF_FILESYSTEM (0x00000001)

Inclua o sistema de arquivos e o restante do Shell (Desktop, Computador e Painel de Controle, por exemplo).

SHACF_URLALL (SHACF_URLHISTORY | SHACF_URLMRU)

Inclua as URLs no histórico de usuários e nas listas Usadas Recentemente . Equivalente a SHACF_URLHISTORY | SHACF_URLMRU.

SHACF_URLHISTORY (0x00000002)

Inclua as URLs na lista Histórico do usuário.

SHACF_URLMRU (0x00000004)

Inclua as URLs na lista Usados Recentemente do usuário.

SHACF_USETAB (0x00000008)

Permitir que o usuário selecione na lista de sugestões automáticas pressionando a tecla TAB. Se esse sinalizador não estiver definido, pressionar a tecla TAB mudará o foco para o próximo controle e fechará a lista de sugestões automáticas. Se SHACF_USETAB estiver definido, pressionar a tecla TAB selecionará o primeiro item da lista. Pressionar TAB novamente selecionará o próximo item na lista e assim por diante. Quando o usuário atingir o final da lista, a próxima tecla TAB pressionará o foco de volta para o controle de edição. Esse sinalizador deve ser usado em combinação com um ou mais dos sinalizadores SHACF_FILESYS* ou SHACF_URL* listados nesta página.

SHACF_VIRTUAL_NAMESPACE (0x00000040)

Retornar valor

Tipo: HRESULT

Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

SHAutoComplete funciona em qualquer controle de edição do sistema, incluindo o controle de edição e controles que contêm controles de edição, como controles ComboBoxEx . Para recuperar um identificador para um controle de edição inserido em um controle ComboBoxEx, envie ao controle ComboBoxEx uma mensagem CBEM_GETEDITCONTROL .

Um aplicativo deve ter invocado CoInitialize ou OleInitialize antes de chamar essa função. CoUninitialize ou OleUninitialize não podem ser chamados até que a caixa de edição termine de processar a mensagem WM_DESTROY para hwndEdit.

O número máximo de itens que podem ser exibidos em uma caixa de listagem suspensa de sugestão automática é 1000.

Em versões do Windows anteriores ao Windows Vista e versões de servidor antes do Windows Server 2008, SHAutoComplete não deve ser chamado mais de uma vez com o mesmo HWND. Isso resulta em um vazamento de memória. Ele impede que os recursos originais sejam liberados, incluindo a instância anterior do objeto AutoComplete, objetos enumeradores que o objeto AutoComplete anterior referenciou e recursos da GDI (Interface de Dispositivo de Gráficos do Windows). Em vez de chamar SHAutoComplete novamente com um conjunto diferente de sinalizadores para alterar a lista preenchimento automático, chame CoCreateInstance com CLSID_AutoComplete para obter o objeto AutoComplete. Em seguida, passe o HWND para o objeto para inicializá-lo e fornecer seu próprio enumerador personalizado. Você pode usar CLSID_ACLMulti se quiser que o Preenchimento Automático use várias listas.

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 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shlwapi.h
Biblioteca Shlwapi.lib
DLL Shlwapi.dll (versão 5.0 ou posterior)

Confira também

Usando o preenchimento automático