Обнаружить нестандартные полосы прокрутки - PullRequest
1 голос
/ 15 января 2011

Есть ли способ определить с помощью WinAPI, если у окна есть нестандартные полосы прокрутки (например, окно может рисовать полосы прокрутки самостоятельно, вместо использования стандартных)?

Ответы [ 2 ]

2 голосов
/ 15 января 2011

Я не совсем уверен, сработает ли это, но это всего лишь идея.Полосы прокрутки принадлежат окну, которое должно быть создано с включенным этим стилем.Итак, вы можете проверить, содержит ли ваше окно стиль WS_VSCROLL, и если это так - это стандартная полоса прокрутки.В аналоге он нарисован кем-то другим.

Вы можете проверить это следующим образом:

// Assume that a window handle hWnd is known
int style = GetWindowLong(hWnd, GWL_STYLE);
BOOL bStandard = ((style & WS_VSCROLL) != 0);
1 голос
/ 15 января 2011

Трудно понять, как ты мог это сделать. Элемент управления может просто рисовать полосы прокрутки на своем собственном холсте, делать свое собственное тестирование попаданий и как бы вы могли знать. Вы можете сделать все это без создания отдельных HWND для полос прокрутки.

Что было бы более интересно, если бы вы могли сказать, почему вы хотели бы знать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...