PureBasic
;
; ------------------------------------------------------------
;
;   PureBasic - Menu example file
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

;
; Нам просто нужно открыть окно и посмотреть, когда в меню происходит событие
;

If OpenWindow(0, 100, 150, 195, 260, "PureBasic - Меню")

  ;
  ; Создать меню. Отступ очень важен для хорошей ликвидности
  ;

  If CreateMenu(0, WindowID(0))
    MenuTitle("Файл")
      MenuItem( 1, "&Загрузка...")
      MenuItem( 2, "Сохранить")
      MenuItem( 3, "Сохранить как...")
      MenuBar()
      OpenSubMenu("Недавний")
        MenuItem( 5, "Pure.png")
        MenuItem( 6, "Basic.jpg")
        OpenSubMenu("Даже больше!")
          MenuItem( 12, "Да")
        CloseSubMenu()
        MenuItem( 13, "Rocks.tga")
      CloseSubMenu()
      MenuBar()
      MenuItem( 7, "&Выход")

    MenuTitle("Редактирование")
      MenuItem( 8, "Вырезать")
      MenuItem( 9, "Копировать")
      MenuItem(10, "Вставить")
      
    MenuTitle("?")
      MenuItem(11, "About")

  EndIf
  
  DisableMenuItem(0, 3, 1)
  DisableMenuItem(0, 13, 1)
  
  ;
  ; Это "цикл событий". Здесь обрабатываются все действия пользователя.
  ; Это очень легко понять: когда происходит действие, Событие не равно 0,
  ; и мы просто должны увидеть, что произошло...
  ;
  
  Repeat

    Select WaitWindowEvent()

      Case #PB_Event_Menu

        Select EventMenu()  ; Чтобы увидеть, какое меню было выбрано

          Case 11 ; About
            MessageRequester("About", "Отличный пример меню ", 0)
            
          Default
            MessageRequester("Инфо", "элемент меню: "+Str(EventMenu()), 0)

        EndSelect

      Case #PB_Event_CloseWindow
        Quit = 1

    EndSelect

  Until Quit = 1

EndIf

End