ScrollingFrame.ScrollBarColor3

For those of us who want to keep the scrolling bar as a solid rectangle but want to change the color. As of now, I have to upload a 1x1 image of the color I want and set the ScrollingFrame’s TopImage, MidImage, and BottomImage to it. If both ScrollBarColor3 and some of TopImage, MidImage, and BottomImage are set, one should take precedence over the other (I personally have no preference).

How about ScrollBarImageColor3?

For your purpose, would give your Top-, Mid-, and BottomImage properties full white images then set their color with ScrollBarImageColor3. Devs could also use whatever designs they want for it without having to upload a whole new image for each color.

3 Likes

The problem with going down this road is that we’d pretty much have to copy every property from ImageLabel to ScrollingFrame, which is anything but futureproof. I think a more elegant solution is needed, though I’m not sure what it would be.

1 Like

Allow setting the scrollbar (and the background) to a custom GUI primitive, and the scrollingframe just handles resizing/moving it (on Y axis - X axis is the width and set by user). And maybe allow getting the default one, but then itll be more costly to change the type later (as scripts might rely on it).

So I can set the scrollbar to another scrollingframe if I feel like it (not that anyone would actually go that far, so dont worry about it possibly not working with xbox input system or something).

After all, the ScrollingFrame instance is basically just a wrapper around something that can easily be done without a custom instance. So identify the things it actually provides (moves the frame/bars in response to input) and expose everything else (and best way to do that is just expose the underlying instances).

3 Likes

Have you tried making your own scrolling frame…? To be honest it’s probably easy enough to put a frame over the scrolling frame’s scrollbar.

You just described the procedure for creating every image object on ROBLOX (Image GUI objects, decals, textures, ImageHandleAdornment, etc), and they’re not even kept entirely up-to-date, so one object is missing some things that another object has, and another object is missing other properties (e.g. Decal missing ImageColor3 and ImageRectSize/Offset & image GUIs missing the ability to tile images like a Texture)

How about condensing all image properties into being able to take a single image object which has all of the properties an image should, and then deprecating the other image properties of existing objects, but still allowing them to be used for backwards compatibility? Add a property to the Image object (well not named that specifically, since it’s taken), and all objects that use images are automatically caught up to speed.

1 Like

I feel like the scrollbar should’ve been a special child of the scrolling frame anyway, but it might be a little late to start doing something like that. Hmmmmm.

3 Likes

If something like that is done, it should be implemented as a “slider” primitive, so it can be used for other things as well.

But it shouldnt automatically become a scroll bar, as sliders should be possible inside scrollingframes as well (without them deciding to scroll it)

(and remember to add Slider.SliderBarColor3)

Deprecate and remake!