Partager via


Interface IACList (shlobj_core.h)

Expose une méthode qui améliore l’efficacité de la saisie automatique lorsque les chaînes candidates sont organisées dans une hiérarchie.

Héritage

L’interface IACList hérite de l’interface IUnknown. IACList a également les types de membres suivants :

Méthodes

L’interface IACList comporte ces méthodes.

 
IACList ::Expand

Demande que le client autocompletion génère des chaînes candidates associées à un élément spécifié dans son espace de noms.

Remarques

L’autocomplétion nécessite généralement les trois composants suivants :

  • Client d’autocomplétion. Ce client est une fenêtre, telle qu’une boîte de dialogue, qui héberge le contrôle d’édition.
  • Objet autocomplétion (CLSID_AutoComplete). Cet objet est fourni par le système et gère l’interface utilisateur, l’analyse et la gestion des threads en arrière-plan.
  • Objet de liste de saisie automatique. Cet objet est chargé de fournir des listes de chaînes candidates à l’objet autocomplétion.
Un objet de liste d’autocomplétion simple doit uniquement exporter IEnumString en plus de IUnknown. Lorsque l’utilisateur entre des caractères dans la zone d’édition, l’objet autocompletion appelle l’interface IEnumString de l’objet de liste pour énumérer la liste des chaînes qui peuvent être utilisées pour terminer la chaîne partielle. L’objet list gère un espace de noms et détermine laquelle de ces chaînes est pertinente.

L’approche la plus simple d’un objet de liste consiste à retourner chaque chaîne de son espace de noms chaque fois que l’objet autocompletion effectue une requête. Pour plus d’informations sur l’implémentation de ce type d’objet de liste, consultez IAutoComplete. Toutefois, cette approche n’est pratique que si l’espace de noms est relativement petit. Quand un grand nombre de chaînes est impliqué, l’objet de liste doit se limiter à un petit sous-ensemble de l’espace de noms.

L’interface IACList est exportée par des objets de liste d’autocomplétion pour les aider à choisir un sous-ensemble sensible de chaînes à partir d’un espace de noms organisé hiérarchiquement. Avec un espace de noms volumineux, cette procédure augmente considérablement l’efficacité de la saisie automatique. La procédure de base est la suivante :

  1. L’objet de saisie semi-automatique appelle l’interface IEnumString de l’objet list. L’objet list retourne les noms des éléments de niveau supérieur dans la hiérarchie. Par exemple, si l’espace de noms se compose de chaque fichier et dossier sur le lecteur C :, l’objet list retourne les chemins complets des dossiers et fichiers contenus dans le répertoire C :\.
  2. L’utilisateur continue à taper jusqu’à ce qu’il entre un délimiteur. Les caractères « \ » et « / » sont reconnus en tant que délimiteurs par l’objet autocomplétion.
  3. L’objet autocomplétion appelle la méthode IACList ::Expand de l’objet list et lui transmet la chaîne partielle actuelle.
  4. L’objet de saisie semi-automatique appelle à nouveau l’interface IEnumString de l’objet list pour demander une nouvelle liste de chaînes. Si la chaîne partielle correspond à l’un des éléments de niveau supérieur dans l’espace de noms, l’objet list retourne les noms des éléments qui se trouvent immédiatement sous l’élément sélectionné. Par instance, si l’utilisateur a entré « C :\Program Files\ », l’objet list retourne les noms des fichiers et dossiers contenus dans ce répertoire. Si le nom passé à IACList ::Expand ne correspond à aucun élément de niveau supérieur, l’objet list peut simplement arrêter de renvoyer des chaînes jusqu’à ce que l’objet de saisie semi-automatique appelle IACList ::Expand avec une chaîne qui se trouve dans l’espace de noms de l’objet de liste.
  5. Le processus se poursuit jusqu’à ce que l’utilisateur sélectionne une chaîne, généralement en appuyant sur la touche ENTRÉE .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel, Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shlobj_core.h