检测非标准滚动条

有没有办法使用WinAPI检测窗口是否有非标准的滚动条(例如,窗口可以绘制滚动条本身而不是使用标准滚动条)?

我不太确定这是否可行,但这只是一个想法。 滚动条属于必须使用此样式启用的窗口。 所以,你可以检查你的窗口是否包含WS_VSCROLL风格,如果是的话 – 这是标准的滚动条。 在同行中,被别人吸引。

你可以这样检查它:

// Assume that a window handle hWnd is known int style = GetWindowLong(hWnd, GWL_STYLE); BOOL bStandard = ((style & WS_VSCROLL) != 0); 

你很难看出你能做到这一点。 一个控件只能在自己的画布上画滚动条,做自己的点击测试,你怎么知道的。 你可以做所有这些,而不用为滚动条创建单独的HWND。

更有意思的是,如果你能说出你为什么想知道这一点的话。