I would like to change a TFrame's ScrollingBar width.
I know I could change all ScrollingBars in the system by:
SystemParametersInfo(SPI_SETNONCLIENTMETRICS,....
But how do I do it for a specific WinControl?
I would like to change a TFrame's ScrollingBar width.
I know I could change all ScrollingBars in the system by:
SystemParametersInfo(SPI_SETNONCLIENTMETRICS,....
But how do I do it for a specific WinControl?
A lot of the code within Delphi depends on the width of scrollbars to be the fixed system setting so you can't alter the width without breaking the control. (Not without rewriting the TControlScrollBar and related controls in the VCL.)
You could, of course, hide the default scrollbars of the control and add your own TScrollbar components next to it.
This also shows the biggest difference between both scrollbar types: TScrollBar has it's own Windows handle while TControlScrollBar borrows it from the related control.
You can try something like this:
your_frame.HorzScrollBar.Size := 50;
your_frame.HorzScrollBar.ButtonSize := your_frame.HorzScrollBar.Size;