CanvasGadgets im ScrollAreaGadget: Scrollproblem
Verfasst: 14.05.2018 12:13
Hallo,
ich habe ein ScrollAreaGadget, in das ich ContainerGadgets einfüge.
Nun kann ich vertikal mit dem Mausrad scrollen -- fein!
Allerdings brauche ich ein ClickEvent auf den ContainerGadgets. Gibt's nicht. Also nehme ich anstelle der ContainerGadgets CanvasGadgets. Die haben ein ClickEvent.
Jetzt kann ich aber nicht mehr mit dem Mausrad im ScrollAreaGadget scrollen. Ich vermute, weil die CanvasGadgets die Events 'klauen'.
Was tun?
Danke im Voraus & Grüße ... Peter
ContainerGadget:
CanvasGadget:
ich habe ein ScrollAreaGadget, in das ich ContainerGadgets einfüge.
Nun kann ich vertikal mit dem Mausrad scrollen -- fein!
Allerdings brauche ich ein ClickEvent auf den ContainerGadgets. Gibt's nicht. Also nehme ich anstelle der ContainerGadgets CanvasGadgets. Die haben ein ClickEvent.
Jetzt kann ich aber nicht mehr mit dem Mausrad im ScrollAreaGadget scrollen. Ich vermute, weil die CanvasGadgets die Events 'klauen'.
Was tun?
Danke im Voraus & Grüße ... Peter
ContainerGadget:
Code: Alles auswählen
EnableExplicit
Enumeration
#frmTest
#frmTest_SAG
EndEnumeration
Procedure ContainerEvent()
Debug "ContainerEvent"
EndProcedure
Define newY, Counter, CG
OpenWindow(#frmTest, #PB_Ignore, #PB_Ignore, 600, 400, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
newY = 5
ScrollAreaGadget(#frmTest_SAG, 10, 15, 515, 350, 595, 550, 1, #PB_ScrollArea_Flat)
For Counter = 1 To 10
CG = ContainerGadget(#PB_Any, 5, newY, 450, 100, #PB_Container_Flat) : CloseGadgetList()
BindGadgetEvent(CG, @ContainerEvent())
newY + 105
Next
CloseGadgetList()
SetGadgetAttribute(#frmTest_SAG, #PB_ScrollArea_ScrollStep, 50)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindowCanvasGadget:
Code: Alles auswählen
EnableExplicit
Enumeration
#frmTest
#frmTest_SAG
EndEnumeration
Procedure CanvasEvent()
Debug "CanvasEvent"
EndProcedure
Define newY, Counter, CG
OpenWindow(#frmTest, #PB_Ignore, #PB_Ignore, 600, 400, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
newY = 5
ScrollAreaGadget(#frmTest_SAG, 10, 15, 515, 350, 595, 550, 1, #PB_ScrollArea_Flat)
For Counter = 1 To 10
CG = CanvasGadget(#PB_Any, 5, newY, 450, 100, #PB_Canvas_Container) : CloseGadgetList()
BindGadgetEvent(CG, @CanvasEvent())
newY + 105
Next
CloseGadgetList()
SetGadgetAttribute(#frmTest_SAG, #PB_ScrollArea_ScrollStep, 50)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow