ScrollAreaGadget: ScrollBarWidth?
Verfasst: 16.11.2014 16:35
Hallo liebe Gemeinde
Ich versuche gerade ein paar Gadgets in ein ScrollAreaGadget zu packen und möchte, dass die Gadgets die gesamte Breite ausnutzen.
Wenn ich das Fenster dann verkleinere, erscheint rechts die Scrollleiste, so weit so gut. Jetzt nimmt diese Scrollleiste aber einige Pixel der ScrollArea-Breite weg. Das heißt die Gadgets "stehen über", was die horizontale Scrollleiste auf den Plan ruft.
Selbst wenn ich diese mit API oder so verstecke, sieht es immernoch bescheuert aus wenn die rechten 20 Pixel oder so von der Scrollleiste überdeckt werden.
GetGadgetAttribute(#ScrollArea, #PB_ScrollArea_InnerWidth) gibt leider immer den eingestellten Wert zurück, egal ob da eine Scrollleiste Platz wegnimmt oder nicht.
Gibt es irgendeine Möglichkeit das ganze "schön" zu gestalten, oder muss ich mit einem Puffer am rechten Rand leben?
Hier mal ein kurzer Beispielcode. Eigentlich sollte der Button in der Breite resized werden, aber das hab ich mir jetzt gespart, weil ich ncht weiß wie ich an den korrekten Wert komme...
Ich versuche gerade ein paar Gadgets in ein ScrollAreaGadget zu packen und möchte, dass die Gadgets die gesamte Breite ausnutzen.
Wenn ich das Fenster dann verkleinere, erscheint rechts die Scrollleiste, so weit so gut. Jetzt nimmt diese Scrollleiste aber einige Pixel der ScrollArea-Breite weg. Das heißt die Gadgets "stehen über", was die horizontale Scrollleiste auf den Plan ruft.
Selbst wenn ich diese mit API oder so verstecke, sieht es immernoch bescheuert aus wenn die rechten 20 Pixel oder so von der Scrollleiste überdeckt werden.
GetGadgetAttribute(#ScrollArea, #PB_ScrollArea_InnerWidth) gibt leider immer den eingestellten Wert zurück, egal ob da eine Scrollleiste Platz wegnimmt oder nicht.
Gibt es irgendeine Möglichkeit das ganze "schön" zu gestalten, oder muss ich mit einem Puffer am rechten Rand leben?
Hier mal ein kurzer Beispielcode. Eigentlich sollte der Button in der Breite resized werden, aber das hab ich mir jetzt gespart, weil ich ncht weiß wie ich an den korrekten Wert komme...
Code: Alles auswählen
Enumeration
#Scroll
#Button
EndEnumeration
Define event
OpenWindow(0, 0, 0, 300, 300, "ScrollArea Test", #PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget)
ScrollAreaGadget(#Scroll, 0, 0, 300, 300, 300, 400)
ButtonGadget(#Button, 0, 0, 300, 400, "B L A")
CloseGadgetList()
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_CloseWindow
End
Case #PB_Event_SizeWindow
ResizeGadget(#Scroll, 0, 0, WindowWidth(0), WindowHeight(0))
ResizeGadget(#Button, 0, 0, GetGadgetAttribute(#Scroll, #PB_ScrollArea_InnerWidth), 500)
EndSelect
ForEver