Partager via


Méthode IShellBrowser ::InsertMenusSB (shobjidl_core.h)

Permet au conteneur d’insérer ses groupes de menus dans le menu composite qui s’affiche lorsqu’un espace de noms étendu est affiché ou utilisé.

Syntaxe

HRESULT InsertMenusSB(
  HMENU                hmenuShared,
  LPOLEMENUGROUPWIDTHS lpMenuWidths
);

Paramètres

hmenuShared

Type : HMENU

Handle vers un menu vide.

lpMenuWidths

Type : LPOLEMENUGROUPWIDTHS

Adresse d’un tableau OLEMENUGROUPWIDTHS de six valeurs LONG . Le conteneur remplit les éléments 0, 2 et 4 pour refléter le nombre d’éléments de menu qu’il a fournis dans les groupes de menus Fichier, Affichage et Fenêtre.

Valeur retournée

Type : HRESULT

Retourne S_OK en cas de réussite, ou une valeur d’erreur définie par COM dans le cas contraire.

Remarques

Cette méthode est similaire à la méthode IOleInPlaceFrame ::InsertMenus . Windows Explorer place les menus déroulants Fichier et Modifier dans le groupe de menus Fichier, les menus Affichage et Outils du groupe de menus Conteneur et un menu Aide dans le groupe de menus Fenêtre. Chaque menu déroulant aura un identificateur unique, FCIDM_MENU_FILE/EDIT/VIEW/TOOLS/HELP. La vue est autorisée à insérer des éléments de menu dans ces sous-menus en fonction de leurs identificateurs, ce qui est différent du mécanisme d’activation sur place d’OLE. Les identificateurs de commande pour les menus que la vue insère dans le sous-menu de Windows Explorer ou dans son propre sous-menu doivent être compris entre FCIDM_SHVIEWFIRST et FCIDM_SHVIEWLAST.

Remarques relatives à l’appel d’applications

Cette méthode est appelée par les extensions d’espace de noms lorsqu’elles sont activées pour la première fois afin qu’elles puissent insérer leurs menus dans l’interface utilisateur au niveau du cadre.

L’application objet demande au conteneur d’ajouter ses menus au menu spécifié dans le paramètre hmenuShared et de définir le nombre de groupes dans le tableau OLEMENUGROUPWIDTHS pointé vers le paramètre lpMenuWidths . L’application objet ajoute ensuite ses propres menus et nombres. Les objets peuvent appeler la méthode IOleInPlaceFrame ::InsertMenus autant de fois que nécessaire pour créer les menus composites. Le conteneur doit utiliser le handle de menu initial associé au menu composite pour tous les éléments des menus déroulants.

Remarques aux implémenteurs

Pour les implémentations IShellBrowser , les identificateurs de menu doivent être dans la plage de FCIDM_BROWSERFIRST à FCIDM_BROWSERLAST.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl_core.h (incluez Shobjidl.h)
DLL Shell32.dll (version 4.0 ou ultérieure)