Win32: чтение стиля WS_VSCROLL из поля со списком (или списка) - PullRequest
0 голосов
/ 08 июня 2010

Я перебираю элементы управления в диалоговом окне и пытаюсь определить, был ли создан комбинированный список в стиле WS_VSCROLL.

Стиль, полученный из GetWindowLong(hwnd, GWL_STYLE), не содержит бит WS_VSCROLL (0x200000), даже когда я знаю, что он был установлен при создании.


Пояснение: я смотрю, был ли ComboBox создан со стилем WS_VSCROLL. Вызов GetWindowLong () (или использование spy ++) для получения стиля списка комбинированного списка будет включать в себя WS_VSCROLL , если необходима полоса прокрутки на основе текущего содержимого списка.

Я пытаюсь определить, был ли ComboBox создан с WS_VSCROLL, а не, если полоса прокрутки в настоящее время видима.

1 Ответ

2 голосов
/ 08 июня 2010

Тогда что-то убрало стиль. Стили не просто исчезают (AFAIK). Что говорит Spy ++ или WinCheat ?

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

РЕДАКТИРОВАНИЕ: Используйте GetComboBoxInfo для программного получения HWND списка.

...