Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
| volvo |
17.01.2007 19:25
Сообщение
#1
|
|
Гость |
Привем всем...
Столкнулся с не совсем понятным поведением своей программы... Дело в следующем: я меняю прозрачность любого видимого окна на десктопе через получение его hWnd и SetLayeredWindowAttributes... Естественно, при закрытии своей программы, я хочу, чтобы все вернулось в первоначальный вид, для чего прохожу по списку окон, для которых прозрачность была изменена мной, и делаю их НЕпрозрачными... Проблема в том, что это (именно восстановление непрозрачности) не работает, если у "чужого" окна установлен стиль TOPMOST... Причем, если я перезапущу программу и уменьшу прозрачность вручную - все работает... Почему же не срабатывает установление SetLayeredWindowAttributes(hWnd, 0, 255, LWA_ALPHA);при закрытии моего приложения? И именно для TopMost окон, остальные же прекрасно обрабатываются... |
![]() ![]() |
| volvo |
18.01.2007 21:20
Сообщение
#2
|
|
Гость |
Значится, так... Во-первых, Bokul, Юля совершенно права - никаких вызовов RePaint я не делал, ибо это лишнее...
Второе - проблема решилась довольно просто: я при старте своего приложения запоминаю стиль и Opacity каждого окна (GetLayeredWindowAttributes, если стиль включает WS_EX_LAYERED), а при выгрузке просто восстанавливаю стили (это работает и с TopMost окнами). Кстати, что характерно, если значение Alpha меньше 255, то все отрабатывает как положено... |
volvo Прозрачность окна чужого приложения 17.01.2007 19:25
мисс_граффити Под разными ОСями одно и то же? 17.01.2007 21:25
volvo Меня не интересуют разные ОСи... Программа использ... 17.01.2007 22:05
Malice Немного не понял: т.е. если сделать отдельную кноп... 17.01.2007 23:19
volvo Нет... Кнопка тоже не отработала для TOPMOST-окон.... 17.01.2007 23:32
Malice В таком случае, как я понимаю, разница лишь в том,... 18.01.2007 9:57
Bokul Может ты repaint забываешь вызывать?
В msdn сов... 18.01.2007 1:36
мисс_граффити RE: Прозрачность окна чужого приложения 18.01.2007 10:00
Гость А если дважды вызывать
SetLayeredWindowAttribute... 18.01.2007 21:00
Malice
Кстати, что характерно, если значение Alpha меньш... 18.01.2007 21:30
Snake_B
Значится, так... Во-первых, Bokul, Юля совершенно... 8.08.2008 21:39
volvo Да, но я бы увидел только Alpha = 254... 255-я бы ... 18.01.2007 21:33
Malice Да, но когда ты делал это TrackBar-ом, то результа... 18.01.2007 21:39
Snake_B
В 2000 тоже прозрачность работат... и энтот... t... 6.02.2007 16:59
volvo Snake_B, это расценивается как флейм...
Я без теб... 6.02.2007 17:02![]() ![]() |
|
Текстовая версия | 8.12.2025 18:53 |