Прозрачные окна
От: satanaclaus  
Дата: 18.12.03 07:55
Оценка:
Пытаюсь сделать свою кнопочку на базе битмапа с прозрачными областями. Проблема в том чтобы отрисовывать окно, находящееся под кнопкой, т.к. на месте прозрачных областей кнопки оно не перерисовывается. Изменять регион окна кнопки не годиться. Т.е. нужно чтоб регион окна остался простым прямоугольником, но подлежащее окно перерисовывало себя в прозрачных областях кнопки. Такая же проблема возникает, если делать полупрозрачные окна. Видел это в работе, но никак не догоняю как это сделано. Запоминание куска экрана перед прорисовкой окна исключено, т.к. через полупрозрачное окно видно анимацию в окне, находящимся под ним. Может это наворот такой только в ХР. Если так, то все равно подскажите. Заранее благодарен.
Re: Прозрачные окна
От: Snakeye Россия http://www.mahjongg4u.com
Дата: 18.12.03 10:08
Оценка:
Здравствуйте, satanaclaus, Вы писали:

S> видно анимацию в окне, находящимся под ним. Может это наворот такой только в ХР.


[msdn]The SetLayeredWindowAttributes function sets the opacity and transparency color key of a layered window.

Minimum operating systems: Windows 2000
[/msdn]
... << RSDN@Home 1.1.0 stable >>
С уважением, Андрей
Re[2]: Прозрачные окна
От: retalik www.airbandits.com/
Дата: 24.12.03 08:15
Оценка:
Здравствуйте, Snakeye, Вы писали:

S>[msdn]The SetLayeredWindowAttributes function sets the opacity and transparency color key of a layered window.

S>Minimum operating systems: Windows 2000
S>[/msdn]
Ни SetWindowRgn, ни SetLayeredWindowAttributes не работают для дочерних окон (WS_CHILD). Так что оба способа не годятся. Единственный разумный способ — это установить стиль WS_EX_TRANSPARENT и вручную управлять обновлением и прорисовкой. Поищи на форуме, это уже обсуждалось.
Успехов,
Виталий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.