Метод IOleInPlaceFrame::SetMenu (oleidl.h)
Добавляет составное меню в рамку окна, содержащую активируемый объект на месте.
Синтаксис
HRESULT SetMenu(
[in] HMENU hmenuShared,
[in] HOLEMENU holemenu,
[in] HWND hwndActiveObject
);
Параметры
[in] hmenuShared
Дескриптор составного меню, созданного вызовами IOleInPlaceFrame::InsertMenus и функции InsertMenu .
[in] holemenu
Дескриптор дескриптора меню, возвращаемый функцией OleCreateMenuDescriptor .
[in] hwndActiveObject
Дескриптор окна, принадлежащего объекту , и в который должны отправляться сообщения меню, команды и ускорители.
Возвращаемое значение
Этот метод возвращает значение S_OK при успешном завершении. Другие возможные возвращаемые значения включают следующее.
Код возврата | Описание |
---|---|
|
Указанный дескриптор недопустим. |
|
Произошла непредвиденная ошибка. |
Комментарии
Примечания к вызывающим абонентам
Объект вызывает IOleInPlaceFrame::SetMenu , чтобы попросить контейнер установить структуру составного меню, настроенную с помощью вызовов IOleInPlaceFrame::InsertMenus.Примечания для разработчиков
Реализация этого метода в контейнере SDI должна вызывать функцию SetMenu . Контейнер MDI должен отправлять WM_MDISETMENU сообщение, используя hmenuShared в качестве меню для установки. Контейнер должен вызвать OleSetMenuDescriptor для установки кода диспетчеризации OLE.При деактивации контейнер должен вызвать IOleInPlaceFrame::SetMenu, указав значение NULL для удаления общего меню. Это делается, чтобы свести к минимуму перерисовки окна. Контейнер также должен вызвать OleSetMenuDescriptor, указав значение NULL для отмены перехвата кода диспетчеризации. Наконец, объектное приложение вызывает OleDetraitsMenuDescriptor , чтобы освободить структуру данных.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | oleidl.h |