Метод IShellBrowser::InsertMenusSB (shobjidl_core.h)

Позволяет контейнеру вставлять группы меню в составное меню, которое отображается при просмотре или использовании расширенного пространства имен.

Синтаксис

HRESULT InsertMenusSB(
  HMENU                hmenuShared,
  LPOLEMENUGROUPWIDTHS lpMenuWidths
);

Параметры

hmenuShared

Тип: HMENU

Дескриптор пустого меню.

lpMenuWidths

Тип: LPOLEMENUGROUPWIDTHS

Адрес массива OLEMENUGROUPWIDTHS из шести значений LONG . Контейнер заполняет элементы 0, 2 и 4, чтобы отразить количество элементов меню, предоставленных в группах меню Файл, Представление и Окно.

Возвращаемое значение

Тип: HRESULT

Возвращает S_OK в случае успешного выполнения, или значение ошибки, определяемое COM, в противном случае.

Комментарии

Этот метод аналогичен методу IOleInPlaceFrame::InsertMenus . Windows Обозреватель помещает раскрывающееся меню Файл и Правка в группу меню Файл, Меню Вид и Сервис в группе Меню Контейнер и Меню Справка в группе меню Окно. Каждое раскрывающееся меню будет иметь уникальный идентификатор FCIDM_MENU_FILE/EDIT/VIEW/TOOLS/HELP. Представлению разрешено вставлять элементы меню в эти подменю по их идентификаторам, которые отличаются от механизма активации OLE на месте. Идентификаторы команд для меню, которые вставляет представление в подменю Windows Обозреватель или в собственное подменю, должны находиться между FCIDM_SHVIEWFIRST и FCIDM_SHVIEWLAST.

Примечания к вызову приложений

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

Приложение объекта просит контейнер добавить меню в меню, указанное в параметре hmenuShared , и задать счетчики групп в массиве OLEMENUGROUPWIDTHS , на который указывает параметр lpMenuWidths . Затем приложение-объект добавляет собственные меню и счетчики. Объекты могут вызывать метод IOleInPlaceFrame::InsertMenus столько раз, сколько необходимо для создания составных меню. Контейнер должен использовать начальный дескриптор меню, связанный с составным меню для всех элементов раскрывающихся меню.

Примечания для разработчиков

Для реализаций IShellBrowser идентификаторы меню должны находиться в диапазоне FCIDM_BROWSERFIRSTдля FCIDM_BROWSERLAST.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)
DLL Shell32.dll (версия 4.0 или более поздняя)