Domanda

I am trying to position something w.r.t. a TJvTreeView, and I would like to know both the width and presence of the vertical scroll view. Does anyone know the canonical way to do that? Or failing that, any way that works?

È stato utile?

Soluzione

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top