https://www.purebasic.fr/english/viewtopic.php?t=59343&p=533184Code:
If OpenWindow(0, 0, 0, 700, 400, "ScrollAreaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ScrollAreaGadget(0, 10, 10, 680, 380, 1000, 1000, 30)
ButtonGadget (1, 10, 10, 230, 30,"Button 1")
ButtonGadget (2, 50, 50, 230, 30,"Button 2")
ButtonGadget (3, 90, 90, 230, 30,"Button 3")
CanvasGadget (5, 200, 200, 500, 500)
CloseGadgetList()
StartDrawing(CanvasOutput(5))
Box(0,0,500,500,$FF0000)
StopDrawing()
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
Select EventGadget()
Case 1
MessageRequester("Info","Button 1 was pressed!",#PB_MessageRequester_Ok)
Case 2
MessageRequester("Info","Button 2 was pressed!",#PB_MessageRequester_Ok)
Case 3
MessageRequester("Info","Button 3 was pressed!",#PB_MessageRequester_Ok)
Case 5
If EventType() = #PB_EventType_MouseWheel
wheel = GetGadgetAttribute(5, #PB_Canvas_WheelDelta)
SetGadgetAttribute(0, #PB_ScrollArea_X, GetGadgetAttribute(0, #PB_ScrollArea_X) - wheel * 3)
EndIf
EndSelect
EndSelect
ForEver
EndIf