Funzione SHAutoComplete (shlwapi.h)

Indica ai controlli di modifica del sistema di usare AutoComplete per completare gli URL o i percorsi del file system.

Sintassi

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

Parametri

[in] hwndEdit

Tipo: HWND

Handle della finestra di un controllo di modifica del sistema. In genere, questo parametro è l'handle di un controllo di modifica o il controllo di modifica incorporato in un controllo ComboBoxEx .

dwFlags

Tipo: DWORD

Flag per controllare l'operazione di SHAutoComplete. I primi quattro flag vengono usati per eseguire l'override delle impostazioni del Registro di sistema di Internet Explorer. L'utente può modificare manualmente queste impostazioni avviando la finestra delle proprietà Opzioni Internet dal menu Strumenti e facendo clic sulla scheda Avanzate .

SHACF_AUTOAPPEND_FORCE_OFF (0x80000000)

Ignorare il registro predefinito e forzare la funzionalità AutoAppend disattivata. Questo flag deve essere usato in combinazione con uno o più flag SHACF_FILESYS* o SHACF_URL* .

SHACF_AUTOAPPEND_FORCE_ON (0x40000000)

Ignorare il valore del Registro di sistema e forzare la funzionalità AutoAppend in. La stringa completata verrà visualizzata nella casella di modifica con i caratteri aggiunti evidenziati. Questo flag deve essere usato in combinazione con uno o più flag SHACF_FILESYS* o SHACF_URL* .

SHACF_AUTOSUGGEST_FORCE_OFF (0x20000000)

Ignorare l'impostazione predefinita del Registro di sistema e forzare la funzionalità AutoSuggest. Questo flag deve essere usato in combinazione con uno o più flag SHACF_FILESYS* o SHACF_URL* .

SHACF_AUTOSUGGEST_FORCE_ON (0x10000000)

Ignorare il valore del Registro di sistema e forzare la funzionalità AutoSuggest su. Una selezione delle possibili stringhe completate verrà visualizzata come elenco a discesa, sotto la casella di modifica. Questo flag deve essere usato in combinazione con uno o più flag SHACF_FILESYS* o SHACF_URL* .

SHACF_DEFAULT (0x00000000)

Impostazione predefinita, equivalente a SHACF_FILESYSTEM SHACF_URLALL | . SHACF_DEFAULT non può essere combinato con altri flag.

SHACF_FILESYS_ONLY (0x00000010)

Includere solo il file system.

SHACF_FILESYS_DIRS (0x00000020)

Includere i file system e le directory, i server UNC e le condivisioni server UNC.

SHACF_FILESYSTEM (0x00000001)

Includere il file system e il resto della Shell (Desktop, Computer e Pannello di controllo, ad esempio).

SHACF_URLALL (SHACF_URLHISTORY | SHACF_URLMRU)

Includere gli URL negli elenchi Cronologia utenti e Usati di recente . Equivalente a SHACF_URLHISTORY SHACF_URLMRU | .

SHACF_URLHISTORY (0x00000002)

Includere gli URL nell'elenco Cronologia dell'utente.

SHACF_URLMRU (0x00000004)

Includere gli URL nell'elenco Usato di recente dell'utente.

SHACF_USETAB (0x00000008)

Consenti all'utente di selezionare dall'elenco autosuggest premendo il tasto TAB. Se questo flag non è impostato, premere il tasto TAB sposta lo stato attivo sul controllo successivo e chiudere l'elenco di inserimenti automatici. Se SHACF_USETAB è impostato, premendo il tasto TAB verrà selezionato il primo elemento nell'elenco. Premendo di nuovo TAB, selezionare l'elemento successivo nell'elenco e così via. Quando l'utente raggiunge la fine dell'elenco, il tasto TAB successivo ciclicherà lo stato attivo al controllo di modifica. Questo flag deve essere usato in combinazione con uno o più flag SHACF_FILESYS* o SHACF_URL* elencati in questa pagina.

SHACF_VIRTUAL_NAMESPACE (0x00000040)

Valore restituito

Tipo: HRESULT

Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

SHAutoComplete funziona su qualsiasi controllo di modifica del sistema, incluso il controllo di modifica e i controlli che contengono controlli di modifica, ad esempio i controlli ComboBoxEx . Per recuperare un handle in un controllo di modifica incorporato in un controllo ComboBoxEx, inviare il controllo ComboBoxEx a un messaggio di CBEM_GETEDITCONTROL .

Un'applicazione deve aver richiamato CoInitialize o OleInitialize prima di chiamare questa funzione. Non è possibile chiamare CoUninitialize o OleUninitialize finché la casella di modifica non ha completato l'elaborazione del messaggio di WM_DESTROY per hwndEdit.

Il numero massimo di elementi che possono essere visualizzati in una casella di riepilogo a discesa autosuggest è 1000.

Nelle versioni di Windows precedenti a Windows Vista e versioni server precedenti a Windows Server 2008 , SHAutoComplete non deve essere chiamato più di una volta con lo stesso HWND. In questo modo si ottiene una perdita di memoria. Impedisce il rilascio delle risorse originali, inclusa l'istanza precedente dell'oggetto AutoComplete, gli oggetti enumeratori a cui ha fatto riferimento l'oggetto AutoComplete precedente e le risorse GDI (Windows Graphics Device Interface). Anziché chiamare di nuovo SHAutoComplete con un set diverso di flag per modificare l'elenco Completamento automatico, chiamare CoCreateInstance con CLSID_AutoComplete per ottenere l'oggetto AutoComplete. Passare quindi HWND all'oggetto per inizializzarlo e specificare il proprio enumeratore personalizzato. È possibile usare CLSID_ACLMulti se si vuole che Il completamento automatico usi più elenchi.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlwapi.h
Libreria Shlwapi.lib
DLL Shlwapi.dll (versione 5.0 o successiva)

Vedi anche

Uso del completamento automatico