Función SHAutoComplete (shlwapi.h)
Indica a los controles de edición del sistema que usen Autocompletar para ayudar a completar las direcciones URL o las rutas de acceso del sistema de archivos.
Sintaxis
LWSTDAPI SHAutoComplete(
[in] HWND hwndEdit,
DWORD dwFlags
);
Parámetros
[in] hwndEdit
Tipo: HWND
Identificador de ventana de un control de edición del sistema. Normalmente, este parámetro es el identificador de un control de edición o el control de edición incrustado en un control ComboBoxEx .
dwFlags
Tipo: DWORD
Marcas para controlar la operación de SHAutoComplete. Las cuatro primeras marcas se usan para invalidar la configuración del Registro de Internet Explorer. El usuario puede cambiar esta configuración manualmente iniciando la hoja de propiedades Opciones de Internet desde el menú Herramientas y haciendo clic en la pestaña Avanzadas .
SHACF_AUTOAPPEND_FORCE_OFF (0x80000000)
Omita el valor predeterminado del Registro y fuerce la desactivación de la característica AutoAppend. Esta marca debe usarse en combinación con una o varias de las marcas SHACF_FILESYS* o SHACF_URL*.
SHACF_AUTOAPPEND_FORCE_ON (0x40000000)
Omita el valor del Registro y fuerce la característica AutoAppend. La cadena completada se mostrará en el cuadro de edición con los caracteres agregados resaltados. Esta marca debe usarse en combinación con una o varias de las marcas SHACF_FILESYS* o SHACF_URL*.
SHACF_AUTOSUGGEST_FORCE_OFF (0x20000000)
Omita el valor predeterminado del Registro y fuerce la desactivación de la característica AutoSuggest. Esta marca debe usarse en combinación con una o varias de las marcas SHACF_FILESYS* o SHACF_URL*.
SHACF_AUTOSUGGEST_FORCE_ON (0x10000000)
Omita el valor del Registro y fuerce la característica AutoSuggest activado. Se mostrará una selección de posibles cadenas completadas como una lista desplegable, debajo del cuadro de edición. Esta marca debe usarse en combinación con una o varias de las marcas SHACF_FILESYS* o SHACF_URL*.
SHACF_DEFAULT (0x00000000)
Valor predeterminado, equivalente a SHACF_FILESYSTEM | SHACF_URLALL. SHACF_DEFAULT no se puede combinar con ninguna otra marca.
SHACF_FILESYS_ONLY (0x00000010)
Incluya solo el sistema de archivos.
SHACF_FILESYS_DIRS (0x00000020)
Incluya el sistema de archivos y los directorios, los servidores UNC y los recursos compartidos de servidor UNC.
SHACF_FILESYSTEM (0x00000001)
Incluya el sistema de archivos y el resto del Shell (escritorio, equipo y Panel de control, por ejemplo).
SHACF_URLALL (SHACF_URLHISTORY | SHACF_URLMRU)
Incluya las direcciones URL en las listas Historial de usuarios y Usados recientemente . Equivalente a SHACF_URLMRU de SHACF_URLHISTORY | .
SHACF_URLHISTORY (0x00000002)
Incluya las direcciones URL en la lista Historial del usuario.
SHACF_URLMRU (0x00000004)
Incluya las direcciones URL en la lista Usado recientemente del usuario.
SHACF_USETAB (0x00000008)
Permita al usuario seleccionar en la lista de autouggest presionando la tecla TAB. Si no se establece esta marca, al presionar la tecla TAB se desplazará el foco al siguiente control y se cerrará la lista de sugerencias automáticas. Si se establece SHACF_USETAB , al presionar la tecla TAB se seleccionará el primer elemento de la lista. Al presionar TAB de nuevo, se seleccionará el siguiente elemento de la lista, etc. Cuando el usuario llegue al final de la lista, la siguiente tecla TAB volverá a desplazar el foco al control de edición. Esta marca debe usarse en combinación con una o varias de las marcas SHACF_FILESYS* o SHACF_URL* enumeradas en esta página.
SHACF_VIRTUAL_NAMESPACE (0x00000040)
Valor devuelto
Tipo: HRESULT
Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
SHAutoComplete funciona en cualquier control de edición del sistema, incluido el control de edición y los controles que contienen controles de edición, como controles ComboBoxEx . Para recuperar un identificador de un control de edición incrustado en un control ComboBoxEx, envíe un mensaje CBEM_GETEDITCONTROL control ComboBoxEx.
Una aplicación debe haber invocado CoInitialize o OleInitialize antes de llamar a esta función. No se puede llamar a CoUninitialize o OleUninitialize hasta que el cuadro de edición haya terminado de procesar el mensaje WM_DESTROY para hwndEdit.
El número máximo de elementos que se pueden mostrar en un cuadro de lista desplegable autosuggest es 1000.
En versiones de Windows anteriores a Windows Vista y versiones de servidor anteriores a Windows Server 2008, no se debe llamar a SHAutoComplete más de una vez con el mismo HWND. Si lo hace, se produce una pérdida de memoria. Impide que se liberen los recursos originales, incluida la instancia anterior del objeto AutoComplete, los objetos enumeradores a los que se ha hecho referencia el objeto AutoComplete anterior y los recursos de interfaz de dispositivo gráfico de Windows (GDI). En lugar de llamar a SHAutoComplete de nuevo con un conjunto diferente de marcas para cambiar la lista AutoComplete, llame a CoCreateInstance con CLSID_AutoComplete para obtener el objeto AutoComplete. A continuación, pase el HWND al objeto para inicializarlo y proporcione su propio enumerador personalizado. Puede usar CLSID_ACLMulti si desea que Autocompletar use varias listas.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shlwapi.h |
Library | Shlwapi.lib |
Archivo DLL | Shlwapi.dll (versión 5.0 o posterior) |