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

UsePNGImageDecoder()

If OpenWindow(0, 100, 200, 195, 260, "ToolBar example", #PB_Window_SystemMenu | #PB_Window_SizeGadget)

  If CreateToolBar(0, WindowID(0))
    ToolBarImageButton(0, LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/ToolBar/New.png"))
    ToolBarImageButton(1, LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/ToolBar/Open.png"))
    ToolBarImageButton(2, LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/ToolBar/Save.png"))
    
    ToolBarSeparator()

    ToolBarImageButton(3, LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/ToolBar/Cut.png"))
    ToolBarToolTip(0, 3, "Вырезать")
    
    ToolBarImageButton(4, LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/ToolBar/Copy.png"))
    ToolBarToolTip(0, 4, "Копировать")
    
    ToolBarImageButton(5, LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/ToolBar/Paste.png"))
    ToolBarToolTip(0, 5, "Вставить")
    
    ToolBarSeparator()

    ToolBarImageButton(6, LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/ToolBar/Find.png"))
    ToolBarToolTip(0, 6, "Найти документ")
  EndIf


  If CreateMenu(0, WindowID(0))
    MenuTitle("Проект")
      MenuItem(0, "Новый")
      MenuItem(1, "Открыть")
      MenuItem(2, "Сохранить")
  EndIf
  
  DisableToolBarButton(0, 2, 1) ; Отключить кнопку '2'
  
  ;
  ; Цикл событий. Событие ToolBar похоже на событие в меню (поскольку в большинстве случаев 
  ; это ярлыки для меню). Это удобно, как если бы кнопки ToolBar и MenuItem имели одинаковый 
  ; идентификатор, то же самое можно сделать в обоих действиях без добавлений..
  ;
  
  Repeat
    Event = WaitWindowEvent()

    Select Event
    
      Case #PB_Event_Menu
        MessageRequester("Инфо", "ID Меню или ToolBar: "+Str(EventMenu()), 0)
      
      Case #PB_Event_CloseWindow  ; Если пользователь нажал на кнопку закрытия
        Quit = 1
        
    EndSelect

  Until Quit = 1
  
EndIf

End   ; Все ресурсы автоматически освобождаются