![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
Как узнать, что контрол содержит определенный стиль (например, BS_AUTO3STATE)?
Это сообщение отредактировал(а) Alca - 25.3.2010, 13:52 |
|||
|
||||
Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 8 Всего: 26 |
-------------------- ????? ??, ??????? ?????. ![]() |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
|
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 2 Всего: 110 |
BS_AUTOCHECKBOX и BS_AUTO3STATE не разнесены в отдельные биты
из winuser.h: #define BS_AUTOCHECKBOX 0x00000003L ... #define BS_AUTO3STATE 0x00000006L вот и получается, что когда стиль содержит BS_AUTOCHECKBOX, то and с BS_AUTO3STATE тоже будет ненулевой -------------------- qqq |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Там есть значение BS_TYPEMASK. Т.е. проверять надо так:
if ((GetStyle() & BS_TYPEMASK) == BS_AUTO3STATE) ... -------------------- ... |
|||
|
||||
Alca |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
Ну для кнопок есть BS_TYPEMASK, а для остальных контролов???
Для листбокса как?
Это сообщение отредактировал(а) Alca - 26.3.2010, 16:40 |
||||
|
|||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Alca, ты принципиально сам не хочешь разбираться?
Думаешь, я наизусть эти флаги помню? Сходила в winuser.h, да посмотрела. Подумайте, какая эзотерика! Если нет для списка такой маски, ну определи сам. -------------------- ... |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 2 Всего: 110 |
вряд ли, общее решение, одинаковое для всех контролов возможно - наборы стилей у всех разные, какие-то могут сочетаться (тогда они занимают разные биты), какие-то значения взаимоисключающие (тогда они вполне могут занимать один и тот же промежуток).
если уж очень хочется чтобы хотя бы снаружи всё выглядело независимо от типа контрола, скорее всего, придётся внутри делать перебор классов окна и для каждого случая писать отдельный код... -------------------- qqq |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |