| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Как станик уэнаёт цвет родителя? |
| Автор: Rapalex 27.6.2006, 13:37 |
| Я заметил что у всех ресурсов на диалоге есть такое свойсво, так если я создаю PropertyPage то при запуске любой статик с ней сливается. Вот мне итересно как станик уэнаёт цвет родителя? Я на свойство транспарент думаю но возникает вопрос можно ли это самому проделать. |
| Автор: Coocky 27.6.2006, 13:46 |
| Rapalex, ще раз-какой статик,? что значит сливается? Может просто берет цвет стандартного окна ? Вообще GetSysColor() тебя спасет для системных настроек Добавлено @ 14:00 Внимание всем еще раз! с связи с тем, что уже заколебали этим свойством. Халявы не будет!!!! Стиль окна WS_EX_TRANSPARENT служит для создания прозрачных окон. А именно: Любые окна ТОГО ЖЕ уровня,накрываемые этим окном, получат сообщение WM_PAINT в первую очередь, тем самым создавая эфект прозрачности! |
| Автор: Earnest 27.6.2006, 14:45 | ||
Статик (и некоторые другие контролы) посылает паренту запрос CTLCOLOR, и парент им ставит все, что надо.
|
| Автор: Rapalex 27.6.2006, 14:48 |
| Спасибо, А такие большие буквы не нужно использовать, они больше на рекламу походят, и читать не хочется. |
| Автор: Mad 27.6.2006, 21:03 | ||||
Вот именно что не тоже самое по получению сообщения WM_PAINT child контрол может послать WM_CTLCOLOR родительскому окну в WM_CTLCOLOR пересылаеться HDC которое родитель настраивает (кстати это единственный способ изменить шрифт для child контрола а так же в возращаемом значении HBRUSH, который нужно ипользовать для фона пример на API :
Добавлено @ 21:04 так что WM_CTLCOLOR возвращает не цвет фона, а кисть (она необязательно должна быть однотоной, можеш туда хоть битмэп всунуть |
| Автор: Coocky 28.6.2006, 10:03 |