Метод 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 или более поздняя) |