Вопрос № 36218: Привет!
Как средствами Windows сделать окно полупрозрачным???
Как получить цвет любого пиксела, который находится непосредственно за моим окном? Причём, если эти пикселы изменяются, моё окно должно реагировать на эти изменения.
Буду рад л...
Вопрос № 36.218
Привет!
Как средствами Windows сделать окно полупрозрачным???
Как получить цвет любого пиксела, который находится непосредственно за моим окном? Причём, если эти пикселы изменяются, моё окно должно реагировать на эти изменения.
Буду рад любым идеям, только пожалуйста, поподробнее, и очень желательно с небольшим примером. Язык неважен. Спасибо.
Отправлен: 26.02.2006, 04:12
Вопрос задал: X-MAN (статус: 3-ий класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Ерёмин Андрей
Здравствуйте, X-MAN!
В приложении выдержка из MSDN по теме прозрачности окон. Думаю, никаких воросов не возникнет. Но учтите, что прозрачные окна - это всё-таки новые технологии и на некоторых компьютерах это может не срабатывать. Кроме того, это не работает в версиях Windows, ниже Windows XP.
По поводу получение цвета пикселей - можно узнать цвет пикселя на экране, через объект Screen, но при этом ваша форма будет на экране. Чтобы узнать цвет пикселя за формой, можно воспользоваться таким несложным алгоритмом:
- свернуть форму;
- прочитать цвет пикселя;
- развернуть.
Естественно, сделать всё нужно за несколько миллисекунд, но не уверен, что это будет работать везде, т.к. производительность у компьютеров разная.
Приложение:
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 26.02.2006, 07:30 Оценка за ответ: 3 Комментарий оценки: Спасибо за цитату, но всё же я хотел узнать, как это делать средствами windows, а не .NET framework!
Отвечает: Татьяна
Здравствуйте, X-MAN!
Для этого есть функция SetLayeredWindowAttributes
правда нужно не забывать с помощью setwindowlong установить стиль окна WS_EX_LAYERED, это выглядит примерно так: