Condividi tramite


Interfaccia IAutoComplete (shldisp.h)

Esposto dall'oggetto completamento automatico (CLSID_AutoComplete). Questa interfaccia consente alle applicazioni di inizializzare, abilitare e disabilitare l'oggetto.

Ereditarietà

L'interfaccia IAutoComplete eredita dall'interfaccia IUnknown . IAutoComplete ha anche questi tipi di membri:

Metodi

L'interfaccia IAutoComplete dispone di questi metodi.

 
IAutoComplete::Enable

Abilita o disabilita il completamento automatico.
IAutoComplete::Init

Inizializza l'oggetto completamento automatico.

Commenti

Il completamento automatico espande le stringhe immesse parzialmente in un controllo di modifica in stringhe complete. Ad esempio, quando un utente inizia a digitare un URL nel controllo Modifica indirizzo incorporato nella barra degli strumenti di Windows Internet Explorer, il completamento automatico espande la stringa in uno o più URL completi coerenti con la stringa parziale esistente. Una stringa URL parziale, ad esempio "mic", potrebbe essere espansa in "http://www.microsoft.com" o "http://www.microsoft.com/windows". Il completamento automatico viene in genere usato con i controlli di modifica o con controlli con un controllo di modifica incorporato, ad esempio il controllo comboboxex.

Il completamento automatico ha due modalità per visualizzare la stringa completata. Le modalità sono indipendenti, quindi è possibile abilitare o entrambe. Per specificare la modalità, chiamare IAutoComplete2::SetOptions. Le modalità sono le seguenti:

  • In modalità autoappend il completamento automatico aggiunge il resto della stringa candidata più probabile ai caratteri esistenti, evidenziando i caratteri accodati. Il controllo di modifica si comporta come se l'utente avesse immesso manualmente l'intera stringa e quindi evidenziasse i caratteri aggiunti. Se l'utente continua a immettere i caratteri, vengono aggiunti alla stringa parziale esistente. Se l'utente aggiunge un carattere identico al carattere evidenziato successivo, l'evidenziazione per tale carattere verrà disattivata. I caratteri rimanenti verranno comunque evidenziati. Se l'utente aggiunge un carattere che non corrisponde al carattere evidenziato successivo, il completamento automatico tenta di generare una nuova stringa candidata in base alla stringa parziale più grande. Aggiunge il resto della nuova stringa candidata alla stringa parziale corrente, come in precedenza. Se non viene trovata alcuna stringa candidata, vengono visualizzati solo i caratteri digitati e la casella di modifica si comporta come se fosse senza completamento automatico. Questo processo continua fino a quando l'utente non accetta una stringa.
  • In modalità Suggerimenti automatici il completamento automatico visualizza un elenco a discesa sotto il controllo di modifica con una o più stringhe complete suggerite. L'utente può selezionare una delle stringhe suggerite, in genere facendo clic su di essa o continuando a digitare. Durante l'avanzamento della digitazione, è possibile modificare l'elenco a discesa in base alla stringa parziale corrente. Se si imposta il flag ACO_SEARCH nel parametro dwFlag di IAutoComplete2::SetOptions, viene aggiunto un elemento "Cerca 'XXX'" nella parte inferiore dell'elenco a discesa. Viene visualizzato anche se non sono presenti stringhe suggerite. "XXX" è impostato sulla stringa parziale corrente e viene aggiornato man mano che l'utente continua a digitare. Se l'utente seleziona "Cerca "...", l'applicazione deve avviare un motore di ricerca per assistere l'utente.
Il modo più semplice per implementare il completamento automatico consiste nel chiamare SHAutoComplete. Quando questa funzione viene chiamata per un controllo di modifica di sistema, il controllo eseguirà il completamento automatico dei percorsi o degli URL del file system parzialmente immessi. Per abilitare il completamento automatico per altri tipi di stringhe o per avere maggiore controllo sul funzionamento del completamento automatico, è possibile usare direttamente l'oggetto di completamento automatico sottostante.

Questa interfaccia non viene in genere implementata dalle applicazioni. Viene esposto dall'oggetto di completamento automatico della shell e usato dalle applicazioni.

Utilizzare l'interfaccia IAutoComplete dell'oggetto completamento automatico per inizializzare l'oggetto e per abilitare o disabilitare il completamento automatico.

Per implementare il completamento automatico per un controllo di modifica tramite l'oggetto completamento automatico, eseguire le operazioni seguenti:

  1. Implementare un oggetto COM (Component Object Model) dell'elenco di stringhe che esporta un'interfaccia IEnumString . Questo oggetto elenco di stringhe è responsabile della specifica dell'elenco di stringhe che l'oggetto di completamento automatico userà come candidati per le stringhe completate.
  2. Creare un'istanza dell'oggetto di completamento automatico con CoCreateInstance. Richiedere un puntatore all'interfaccia IAutoComplete .
  3. Chiama IAutoComplete::Init. Impostare il parametro hwndEdit sull'handle di finestra del controllo di modifica. Se il controllo di modifica è incorporato in un altro controllo, è necessario recuperare l'handle nel controllo di modifica stesso. Ad esempio, per recuperare un handle per il controllo di modifica incorporato in un controllo comboboxex, inviare un messaggio di CBEM_GETEDITCONTROL . Impostare il parametro punkACL di IAutoComplete::Init sul puntatoreIUnknown dell'oggetto elenco di stringhe.
  4. Se non si desidera utilizzare le opzioni predefinite, recuperare un puntatore all'interfaccia IAutoComplete2 dell'oggetto di completamento automatico. Chiamare IAutoComplete2::SetOptions per impostare le opzioni desiderate.
  5. L'oggetto completamento automatico usa il puntatore IUnknown dell'oggetto elenco di stringhe, passato come punkACL nel passaggio 3, per recuperare un puntatore all'interfaccia IEnumString dell'oggetto. L'oggetto di completamento automatico chiama quindi tale interfaccia per generare il relativo elenco di stringhe candidate. Seleziona le stringhe dall'elenco che rappresentano una corrispondenza accettabile con la stringa parziale nel controllo . In modalità autoappend, i caratteri necessari per completare la stringa vengono aggiunti alla stringa parziale ed evidenziati. In modalità Suggerimenti automatici, sotto il controllo di modifica viene visualizzata una casella a discesa con un elenco di una o più stringhe possibili.
  6. Se l'utente accetta una stringa di completamento automatico, il controllo di modifica si comporta come se la stringa fosse stata immessa manualmente.
Il completamento automatico è abilitato per impostazione predefinita. Le applicazioni devono solo chiamare IAutoComplete::Enable per disabilitare il completamento automatico o riabilitarlo se è stato disabilitato.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shldisp.h

Vedi anche

IACList

IACList2

IAutoComplete2

ICurrentWorkingDirectory

IObjMgr