Partager via


Structure OLEMENUGROUPWIDTHS (oleidl.h)

Indique le nombre d’éléments de menu dans chacun des six groupes de menus d’un menu partagé entre un conteneur et un serveur d’objets pendant une session d’édition sur place. Il s’agit du mécanisme permettant de créer un menu partagé.

Syntaxe

typedef struct tagOleMenuGroupWidths {
  LONG width[6];
} OLEMENUGROUPWIDTHS, *LPOLEMENUGROUPWIDTHS;

Membres

width[6]

Tableau dont les éléments contiennent le nombre d’éléments de menu dans chacun des six groupes de menus d’un menu d’édition sur place partagé. Chaque groupe de menus peut avoir n’importe quel nombre d’éléments de menu. Le conteneur utilise les éléments 0, 2 et 4 pour indiquer le nombre d’éléments de menu dans ses groupes de menus Fichier, Affichage et Fenêtre . Le serveur d’objets utilise les éléments 1, 3 et 5 pour indiquer le nombre d’éléments de menu dans ses groupes de menus Modifier, Objet et Aide .

Remarques

Une application conteneur et un serveur d’objets utilisent cette structure pour créer un menu partagé. Le serveur d’objets initialise à zéro les éléments du tableau dans une structure OLEMENUGROUPWIDTHS et lui transmet un pointeur ainsi qu’un handle de menu vers le conteneur dans un appel à IOleInPlaceFrame ::InsertMenus. Le conteneur ajoute ses éléments de menu au menu et remplit la structure avec le nombre d’éléments dans chacun de ses groupes (index 0, 2 et 4). Le serveur utilise ensuite les valeurs de largeur de groupe retournées par le conteneur pour insérer ses éléments de menu à la position appropriée dans le menu. Le serveur remplit la structure avec le nombre d’éléments dans chacun de ses groupes (index 1, 3 et 5), puis transmet la structure à OLE dans un appel à la fonction OleCreateMenuDescriptor . Cela permet à OLE d’intercepter les messages de menu du conteneur et de rediriger les messages générés par les menus du serveur.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête oleidl.h

Voir aussi

IOleInPlaceFrame ::InsertMenus

OleCreateMenuDescriptor