Welcome to the Tweaking4All community forums!
When participating, please keep the Forum Rules in mind!
Topics for particular software or systems: Start your topic link with the name of the application or system.
For example “MacOS X – Your question“, or “MS Word – Your Tip or Trick“.
Please note that switching to another language when reading a post will not bring you to the same post, in Dutch, as there is no translation for that post!
[Solved] Lazarus Pascal - How to determine Scrollbar width or height
Delphi, Lazarus, Free Pascal
(@hans)
Famed Member Admin
Joined: 11 years ago
Posts: 2762
Topic starter
August 28, 2020 3:00 AM
Sometimes you need to know the width (or height) of a scrollbar used in a control like a Grid (for example a TStringGrid, a TDBGrid, etc).
Especially cross platform and with the use of themes, different OS versions, etc. this can be a challenge since this is not a fixed value.
This is how you can determine these values (should work for Windows, MacOS, Linux/GTK, QT):
uses
LCLIntf, LCLType;
var
h, w: Integer;
...
h := GetSystemMetrics(SM_CYHSCROLL); // scrollbar height
w := GetSystemMetrics(SM_CXVSCROLL); // scrollbar width