PureBasic
CreatePopupImageMenu()
Синтаксис
Result = CreatePopupImageMenu(#Menu [, Flags])
Описание
Создает новое пустое всплывающее Меню, с поддержкой изображений для своих элементов.
Параметры
#Menu Номер, идентифицирующий новое Меню. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически. Flags (дополн.) Этот параметр может быть комбинацией следующих значение (с помощью оператора '|'): #PB_Menu_ModernLook: Включить градиент и современный вид (влияет только на Windows)
Возвращаемое значение
Возвращает не нулевое значение, если Меню было создано успешно, в противном случае 0. Если в качестве параметра #Menu использовалось значение #PB_Any, то в случае успеха будет возвращен сгенерированный Номер.
Комментарии
После того, как Меню создано, оно становится активным, и дальнейшее добавление элементов пойдёт в него. После этого можно использовать такие функции как MenuTitle(), MenuItem(), MenuBar(), OpenSubMenu(), с помощью которых Вы можете заполнить Меню нужными элементами.
С помощью функции DisplayPopupMenu() это всплывающее Меню можно отобразить в любой позиции на экране.
Чтобы корректно обработать события Меню, смотрите описания следующих функций:
WaitWindowEvent() (как альтернатива: WindowEvent())
EventWindow()
EventMenu()
Пример
If OpenWindow(0, 200, 200, 400, 120, "Пример Всплывающего Меню с картинкой")
If CreatePopupImageMenu(0, #PB_Menu_ModernLook) ; Начинается создание всплывающего Меню...
MenuItem(1, "Открыть") ; Для создания такого Меню вы можете использовать все команды
MenuItem(2, "Сохранить") ; точно так же, как с обычным Меню...
MenuItem(3, "Сохранить как")
MenuItem(4, "Выход")
MenuBar()
OpenSubMenu("Недавние файлы")
MenuItem(5, "PureBasic.exe")
MenuItem(6, "Test.txt")
CloseSubMenu()
EndIf
Repeat
Event = WaitWindowEvent() ; проверим наличие событий окна
Select Event
Case #PB_Event_RightClick ; нажата правая кнопка мыши =>
DisplayPopupMenu(0, WindowID(0)) ; покажем всплывающее Меню
Case #PB_Event_Menu ; кликнут элемент всплывающего Меню
Select EventMenu() ; получим кликнутый элемент Меню...
Case 1 : Debug "Menu: Открыть"
Case 2 : Debug "Menu: Сохранить"
Case 3 : Debug "Menu: Сохранить как"
Case 4 : End
Case 5 : Debug "Menu: PureBasic.exe"
Case 6 : Debug "Menu: Text.txt"
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
См. также
CreatePopupMenu(), DisplayPopupMenu(), CreateMenu(), CreateImageMenu(), FreeMenu(), MenuTitle(), MenuItem(), MenuBar(), OpenSubMenu()
Поддерживаемые OS
Все