Метод IMenuPopup::P opup (shobjidl_core.h)
Вызывает контекстное меню в указанном расположении на экране.
Синтаксис
HRESULT Popup(
[in] POINTL *ppt,
[in] RECTL *prcExclude,
[in] MP_POPUPFLAGS dwFlags
);
Параметры
[in] ppt
Тип: POINTL*
Указатель на структуру POINTL , задающую расположение всплывающего меню в координатах экрана. Всплывающее меню отображается по отношению к этой точке в соответствии с флагами позиции, установленными в dwFlags.
[in] prcExclude
Тип: RECTL*
Указатель на структуру RECTL , задающий прямоугольник, исключаемый при расположении меню. В Windows Vista выравнивание меню по отношению к этой области определяется флагами выравнивания, установленными в dwFlags. Этот параметр может иметь значение NULL , чтобы включить весь экран.
[in] dwFlags
Тип: MP_POPUPFLAGS
Одна или несколько из следующих констант, управляющих отображением всплывающего меню.
MPPF_SETFOCUS (0x00000001)
Меню должно иметь фокус, когда оно появится.
MPPF_INITIALSELECT (0x00000002)
Должен быть выбран первый элемент в меню.
MPPF_NOANIMATE (0x00000004)
Не анимируйте это шоу.
MPPF_KEYBOARD (0x00000010)
Меню активируется с помощью клавиатуры.
MPPF_REPOSITION (0x00000020)
Изменение положения отображаемой панели.
MPPF_FORCEZORDER (0x00000040)
В строке меню должны игнорироваться позиции подменю.
MPPF_FINALSELECT (0x00000080)
Должен быть выбран последний элемент в меню.
MPPF_TOP (0x20000000)
Отображение всплывающего меню над точкой, указанной в ppt.
MPPF_LEFT (0x40000000)
Отображение всплывающего меню слева от точки, указанной в ppt.
MPPF_RIGHT (0x60000000)
Отображение всплывающего меню справа от точки, указанной в ppt.
MPPF_BOTTOM (0x80000000)
Отображение всплывающего меню под точкой, указанной в ppt.
MPPF_POS_MASK (0xE0000000)
Маскирование для значений позиции MPPF_TOP, MPPF_LEFT и MPPF_RIGHT.
MPPF_ALIGN_LEFT (0x02000000)
Выравнивание по умолчанию.
MPPF_ALIGN_RIGHT (0x04000000)
Всплывающее меню должно быть выровнено справа от исключенного прямоугольника, указанного параметром prcExclude.
Возвращаемое значение
Тип: HRESULT
Возвращает S_OK , если объект реализует всплывающее меню как меню без режима. В противном случае возвращает S_FALSE, указывающую конец реализации меню.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP с пакетом обновления 1 (SP1) [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | shobjidl_core.h (включая Shobjidl.h) |
DLL | Shell32.dll (версия 5.0 или более поздняя) |