Структура OLEMENUGROUPWIDTHS (oleidl.h)

Указывает количество пунктов меню в каждой из шести групп меню, совместно используемых контейнером и сервером объектов во время сеанса редактирования на месте. Это механизм создания общего меню.

Синтаксис

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

Члены

width[6]

Массив, элементы которого содержат количество пунктов меню в каждой из шести групп меню общего меню редактирования на месте. Каждая группа меню может содержать любое количество пунктов меню. Контейнер использует элементы 0, 2 и 4, чтобы указать количество пунктов меню в группах меню "Файл", "Вид" и "Окно ". Сервер объектов использует элементы 1, 3 и 5, чтобы указать количество пунктов меню в группах меню Правка, Объект и Справка .

Комментарии

Контейнерное приложение и сервер объектов используют эту структуру для создания общего меню. Сервер объектов инициализирует до нуля элементы массива в структуре OLEMENUGROUPWIDTHS и передает указатель на него вместе с дескриптором меню контейнеру в вызове IOleInPlaceFrame::InsertMenus. Контейнер добавляет в меню свои пункты меню и заполняет структуру количеством элементов в каждой из своих групп (индексы 0, 2 и 4). Затем сервер использует значения ширины группы, возвращаемые контейнером, для вставки его пунктов меню в соответствующую позицию в меню. Сервер заполняет структуру количеством элементов в каждой из своих групп (индексы 1, 3 и 5), а затем передает структуру OLE в вызове функции OleCreateMenuDescriptor . Это позволяет OLE перехватывать сообщения меню контейнера и перенаправлять сообщения, созданные меню сервера.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть oleidl.h

См. также раздел

IOleInPlaceFrame::InsertMenus

OleCreateMenuDescriptor