Partager via


Interface IExplorerBrowser (shobjidl_core.h)

IExplorerBrowser est un objet de navigateur qui peut être parcouru ou qui peut héberger une vue d’un objet de données. En tant qu’objet de navigateur complet, il prend également en charge un journal de voyage automatique.

L’interpréteur de commandes fournit une implémentation par défaut d’IExplorerBrowser en tant que CLSID_ExplorerBrowser. En règle générale, un développeur n’a pas besoin de fournir une implémentation personnalisée de cette interface.

Le Kit de développement logiciel (SDK) Windows fournit des exemples complets qui illustrent l’utilisation et l’interaction avec IExplorerBrowser. Téléchargez l’exemple de recherche de navigateur Explorer et l’exemplecontenu personnalisé du navigateur Explorer.

Héritage

L’interface IExplorerBrowser hérite de l’interface IUnknown. IExplorerBrowser possède également les types de membres suivants :

Méthodes

L’interface IExplorerBrowser possède ces méthodes.

 
IExplorerBrowser::Advise

Lance une connexion avec IExplorerBrowser pour les rappels d’événements.
IExplorerBrowser::BrowseToIDList

Accède à un pointeur vers une liste d’identificateurs d’élément (PIDL)
IExplorerBrowser::BrowseToObject

Accède à un objet.
IExplorerBrowser::D estroy

Détruit le navigateur.
IExplorerBrowser::FillFromObject

Crée un dossier de résultats et le remplit d’éléments.
IExplorerBrowser::GetCurrentView

Obtient une interface pour l’affichage actuel du navigateur.
IExplorerBrowser::GetOptions

Obtient les options actuelles du navigateur.
IExplorerBrowser::Initialize

Prépare le navigateur à naviguer.
IExplorerBrowser::RemoveAll

Supprime tous les éléments du dossier de résultats.
IExplorerBrowser::SetEmptyText

Définit le texte vide par défaut.
IExplorerBrowser::SetFolderSettings

Définit les paramètres de dossier pour l’affichage actuel.
IExplorerBrowser::SetOptions

Définit les options actuelles du navigateur.
IExplorerBrowser::SetPropertyBag

Définit le nom du conteneur de propriétés.
IExplorerBrowser::SetRect

Définit la taille et la position des fenêtres d’affichage créées par le navigateur.
IExplorerBrowser::Unadvise

Met fin à une connexion d’avis. (IExplorerBrowser.Unadvise)

Remarques

Pour obtenir un exemple de code montrant l’utilisation classique d’IExplorerBrowser et de ses méthodes, consultez les exemples contenu personnalisé du navigateur Explorer et contenu personnalisé du navigateur Explorer.

Après avoir appelé la méthode Initialize de cet objet, sa méthode Destroy doit être appelée pour libérer toutes les ressources fenêtrés qui ont été générées dans l’appel à Initialize.

L’objet qui héberge l’objet ExplorerBrowser doit dériver d’IServiceProvider et implémenter QueryService pour répondre à toutes les requêtes de service. Par exemple, le nombre de volets affichés par le navigateur peut être contrôlé en implémentant IExplorerPaneVisibility et en répondant aux demandes de service SID_ExplorerPaneVisibility.

Les images sont désactivées par défaut. Pour activer les cadres et obtenir l’ensemble de volets par défaut, définissez l’indicateur EBO_SHOWFRAMES à l’aide de la méthode IExplorerBrowser::SetOptions . Les volets par défaut, répertoriés en tant que constantes IExplorerPaneVisibility , sont les suivants :

  • EP_NavPane
  • EP_Commands
  • EP_Commands_Organize
  • EP_Commands_View
  • EP_DetailsPane
  • EP_PreviewPane
  • EP_QueryPane
  • EP_AdvQueryPane
  • EP_StatusBar
  • EP_Ribbon
Pour plus d’informations , consultez IExplorerPaneVisibility::GetPaneState .

Les clients de l’objet ExplorerBrowser peuvent implémenter les interfaces ICommDlgBrowser, ICommDlgBrowser2 ou ICommDlgBrowser3 et répondre à une demande de service SID_SExplorerBrowserFrame dans leurs implémentations QueryService appelées lorsque des interfaces ICommDlgBrowser sont appelées sur le navigateur (généralement appelées à partir de la vue à la suite d’actions utilisateur). Notez que le client ne reçoit pas d’appel à ICommDlgBrowser::IncludeObject si un filtre de dossiers a été défini sur le navigateur par un appel à IFolderFilterSite::SetFilter.

Pour rester compatible avec certaines applications plus anciennes, la vue Shell par défaut (DefView) effectue des opérations de filtrage (par exemple, les opérations de recherche exécutées par un dossier de recherche) sur le thread d’interface utilisateur. Pour les nouvelles applications, ce n’est généralement pas souhaité ; la recherche doit s’exécuter sur un thread d’arrière-plan. Pour empêcher le filtrage du thread d’interface utilisateur et exécuter le filtrage sur un thread d’arrière-plan, fournissez ICommDlgBrowser2 via la demande de service SID_SExplorerBrowserFrame. Quand ICommDlgBrowser2::GetViewFlags est appelé, il doit retourner CDB2GVF_NOINCLUDEITEM. Par exemple, si vous accédez à un dossier de recherche dans ExplorerBrowser et que vous ne retournez pas CDB2GVF_NOINCLUDEITEM, la vue peut cesser de répondre tant que la recherche entière n’est pas terminée.

L’architecture Shell comporte trois composants main : le navigateur, les vues et les sources de données (par exemple, IShellFolder). L’objet ExplorerBrowser conserve l’emplacement actuel et la navigation vers d’autres emplacements dans l’espace de noms Shell. Il conserve également un journal de voyage (historique avant et précédent). Le navigateur est averti lorsque des événements se produisent dans la vue ; par exemple, lorsque l’utilisateur double-clique sur un dossier. En réponse, le navigateur accède à cet emplacement. Les sources de données sont les objets qui fournissent les éléments et les dossiers dans l’espace de noms. Ils disposent également d’informations sur l’emplacement, telles que les propriétés des éléments et les éléments à ajouter au menu contextuel lorsque la vue le demande. En outre, les sources de données savent quelle vue doit être créée pour représenter leurs éléments à un emplacement. Dans presque toutes les instances, les dossiers créent l’affichage par défaut de l’interpréteur de commandes (DefView). Par conséquent, à mesure que le navigateur navigue, il reçoit un objet IShellFolder pour le nouvel emplacement et lui demande quelle vue créer. Le navigateur crée ensuite cette vue et la rend visible, tout en masquant puis en détruisant la vue qui affichait l’emplacement précédent. La vue est chargée de communiquer avec IShellFolder pour l’emplacement actuel et de lui demander d’énumérer les éléments, ce qui permet à l’affichage d’afficher ces éléments à l’utilisateur. Lorsque l’utilisateur interagit avec les éléments, la vue communique avec IShellFolder pour obtenir toutes les informations supplémentaires dont il a besoin, telles que les propriétés spécifiques des éléments ou les entrées de menu contextuel pour l’élément.

Si une application utilise l’implémentation par défaut fournie par CLSID_ExplorerBrowser, en l’insérant dans la fenêtre d’une application, puis en accédant à un emplacement, ExplorerBrowser crée l’IShellView approprié, comme spécifié par l’emplacement vers lequel elle navigue. L’application peut ensuite demander à ExplorerBrowser de lui donner une interface sur l’affichage actuel, ce qui permet à l’application de manipuler directement l’affichage si nécessaire. L’implémentation par défaut de l’objet de vue Windows Explorer, créée par SHCreateShellFolderViewEx, prend en charge l’interface IShellView. Vous pouvez vérifier que vous disposez de l’objet d’affichage de dossier Shell par défaut en appelant IExplorerBrowser::GetCurrentView , puis en appelant QueryInterface sur l’objet retourné à l’aide de l’ID d’interface IID_CDefView.

Windows 7 et versions ultérieures. CExplorerBrowser peut prendre en charge la navigation sur place à l’aide de IServiceProvider::QueryService avec l’ID de service SID_SlnPlaceBrowser. Lorsque vous utilisez SID_SInPlaceBrowser, l’état CExplorerBrowser ne peut pas être défini sur EBO_NAVIGATEONCE.

Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl_core.h (inclure Shobjidl.h)