Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2009, 16:20   #1
NotProCoder
Пользователь
 
Регистрация: 20.04.2009
Сообщений: 15
Сообщение Скин формы с Альфа каналом

Всё мучался вопросом... Если, допустим, форма абсолютно прозрачна. И на это поле сделать Блит битовой карты с альфа каналом. Т.е. каждый пискел формы имеет цвет пиксела такой же, как пиксел под главной формой с теми же координатами. А далее каждый пиксел изображения (пр PNG) смешивать согласно его альфа канала с пикселом формы.

Собственно вопрос в следующем... Как узнать изображение Десктопа ровно под формой? Возился с GetDC и похожими ф., но ничего не получалось. WinSDK Help тоже не помог.
NotProCoder вне форума Ответить с цитированием
Старый 21.04.2009, 03:44   #2
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Ну... Не совсем понял что требуется, но можно например просто сделать "дыру" в голый Рабочий Стол (если точнее: на рисунок с Рабочего Стола):
Код:
PaintDesktop(Form1.Canvas.Handle);
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 21.04.2009, 12:04   #3
NotProCoder
Пользователь
 
Регистрация: 20.04.2009
Сообщений: 15
По умолчанию

Тоже не то. Пробовал! Рисоваться должны и формы других приложений, а не один BackG Десктопа. Короче говоря весь Десктоп, кроме моей формы. Вот.
Есть ещё предложения?
NotProCoder вне форума Ответить с цитированием
Старый 21.04.2009, 13:33   #4
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Ловить WM_ENTERSIZEMOVE/WM_EXITSIZEMOVE, скрывать окно, фоткать квадратную область под ним, показывать, рисовать... Ужасно криво и тормозно
Вистоподобные окошки делаются через SetLayeredWindowAttributes, вот только весь интерфейс придётся ручками рисовать
пыщь
JTG вне форума Ответить с цитированием
Старый 21.04.2009, 13:46   #5
NotProCoder
Пользователь
 
Регистрация: 20.04.2009
Сообщений: 15
По умолчанию

> Ловить WM_ENTERSIZEMOVE/WM_EXITSIZEMOVE, скрывать окно, фоткать квадратную область под ним, показывать, рисовать... Ужасно криво и тормозно

Да уж...

> Вистоподобные окошки делаются через SetLayeredWindowAttributes, вот только весь интерфейс придётся ручками рисовать

Чего-то в мануале функции нету... Как я понял, там можно только AplhaBlend юзать. А есть какой-нибудь пример чтоли, или описание? А нито у меня мобила лопнет если я поздний SDK заливать буду.
NotProCoder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Альфа компоненты Sanek777 Компоненты Delphi 2 09.11.2008 23:18
Альфа-канал NeiL Мультимедиа в Delphi 1 28.02.2008 15:33
Отрисовка PNG с альфа-каналом на десктопе Whisper Помощь студентам 2 02.01.2008 19:24
GDI+ и альфа канал в Delphi for Win32 murtix Мультимедиа в Delphi 2 06.10.2007 00:09