Für eine künftige Anwendung habe ich etwas mit dem Scroll-Gadget experimentiert.
Dazu habe ich in einem Scroll-Gadget mittels Schleife 1000 Container mit eine Einzelhöhe
von 50 Pixeln erzeugt. In jedem Container wurde ein Button und ein Text platziert.
Beim Mac geht das ohne Probleme, bei Windows wird es ab einer Höhe von 32768 Pixeln
problematisch. Beim Mac gehen auch 10000 - ist zwar nicht nötig, geht aber!
Ist das nun ein Bug unter Windows oder Feature beim Mac?
Hier die relevanten Code-Schnipsel dazu:
Code: Alles auswählen
Global Window_test
Global ScrollArea_test, Button_test_ende
Procedure OpenWindow_test(x = 0, y = 0, width = 490, height = 680)
Window_test = OpenWindow(#PB_Any, x, y, width, height, "", #PB_Window_SystemMenu)
ScrollArea_test = ScrollAreaGadget(#PB_Any, 30, 30, 430, 590, 300, 225, 1)
CloseGadgetList()
Button_test_ende = ButtonGadget(#PB_Any, 200, 640, 100, 25, "Beenden")
EndProcedure
c_h=40
c_w=395
OpenWindow_test()
SetGadgetAttribute(ScrollArea_test, #PB_ScrollArea_InnerWidth, c_w+10)
n=0
While n<=10000
OpenGadgetList(ScrollArea_test)
SetGadgetAttribute(ScrollArea_test, #PB_ScrollArea_InnerHeight, (n+1)*c_h)
c=ContainerGadget(#PB_Any, 5, n*c_h, c_w, c_h, #PB_Container_Double)
SetGadgetColor(c, #PB_Gadget_BackColor, $D7ECEC)
ButtonGadget(#PB_Any, 5, 5, 100, 25, "Button "+Str(n))
TextGadget(#PB_Any, 120, 5, 200, 25, Str(n*c_h))
CloseGadgetList()
n+1
Wend
Repeat
Event=WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
EventGadget=EventGadget()
Select EventGadget
Case Button_setup_Speichern
Case Button_test_ende
Event = #PB_Event_CloseWindow
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
CloseWindow(window_test)