Test for the presence of the WS_VSCROLL
window style:
HasVertScrollBar := (GetWindowLongPtr(hWnd, GWL_STYLE) and WS_VSCROLL) <> 0;
To find the width of system scroll bars, call SystemParametersInfo
passing SPI_GETNONCLIENTMETRICS
.
var
ncm: TNonClientMetrics;
....
ncm.cbSize := SizeOf(ncm);
Win32Check(
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize, Pointer(@ncm), 0)
);
The scroll bar width can then be retrieved from ncm.iScrollWidth
.