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) |