Т.е. создаю кнопку
...
HWND hdl = CreateWindow(WC_BUTTON,"",
WS_CHILD | WS_VISIBLE | BS_NOTIFY| WS_TABSTOP| WS_BORDER,x,y,sx,sy,hparent,(HMENU)333,
GetModuleHandle(NULL),this);
...
У нее, после создания, считываю стиль Spy'ем -> 5081400
В WinUser.h читаю
WS_CHILDWINDOW 0x40000000L
WS_VISIBLE 0x10000000L
WS_BORDER 0x00800000L
WS_TABSTOP 0x00010000L
BS_PUSHBUTTON 0x00000000L
BS_TEXT 0x00000000L
BS_NOTIFY 0x00004000L
Действительно 5081400, но как теперь разобрать стиль (5081400) и получить стили кнопки отдельно?
Здравствуйте, Аноним, Вы писали:
А>Действительно 5081400, но как теперь разобрать стиль (5081400) и получить стили кнопки отдельно?
сразу решение в лоб.

у LONG длина известная, пробегаешь по всем битам, и считываешь. Если бит установлен проставляешь в свою строку соотв. строковое значение.
Здравствуйте, <Аноним>, Вы писали:
А>У нее, после создания, считываю стиль Spy'ем -> 5081400
У Spy++ в свойствах окна закладка Styles
... << RSDN@Home 1.1.4 stable rev. 510>>
Здравствуйте, BuHHunyx, Вы писали:
BHH>Здравствуйте, <Аноним>, Вы писали:
А>>У нее, после создания, считываю стиль Spy'ем -> 5081400
BHH>У Spy++ в свойствах окна закладка Styles
А поизучать "вручную" разложение/комбинирование стилей очень позволяют инструменты вроде
WinSpy++ (
http://www.catch22.org.uk/software/zips/WinSpy.zip)
или ResHacker с Control Editor внутри (
http://www.users.on.net/johnson/resourcehacker/reshack.zip).
Правда, WinSpy++ иногда подвирает... зато на catch22.org лежат и исходники
Здравствуйте, Аноним, Вы писали:
А>WS_CHILDWINDOW 0x40000000L
А>WS_VISIBLE 0x10000000L
А>WS_BORDER 0x00800000L
А>WS_TABSTOP 0x00010000L
А>BS_PUSHBUTTON 0x00000000L
А>BS_TEXT 0x00000000L
А>BS_NOTIFY 0x00004000L
А>Действительно 5081400, но как теперь разобрать стиль (5081400) и получить стили кнопки отдельно?
Например так:
DWORD dwStyles = GetWindowLong(hdl, GWL_STYLE);
if (dwStyle & WS_CHILDWINDOW == WS_CHILIDWINDOW)
// установлен WS_CHILDWINDOW, делаем что-то...
if (dwStyle & WS_VISIBLE == WS_VISIBLE)
// установлен WS_VISIBLE, делаем еще что-то...
...