Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

BitBlt из десктопа в мое окно...   Найти похожие ветки 

 
Labert   (2004-03-11 20:45) [0]

Задача: нужно на рабочем столе нарисовать картинку (битмап), а еще лучше анимацию(гиф), а еще лучше с полупрозрачностью. VirtualGirl видели? Вот примерно то же самое.

Попробовал так:

Создаю обычное диалоговое окошко, а для прозрачности делаю так:
беру контекст окна десктопа (окно класса SysListView32), и копирую из
него кусок на свое окошко (контекст своего окна беру с помощью GetWindowDC),
потом на контексте своего окна рисую все, что нужно (битмап).

То есть на поверхности моего окна нарисован кусок рабочего стола,
закрываемый моим окном. Таким образом создается иллюзия прозрачности.

Я это делаю при поступлении в мою прогу сообщения WM_PAINT.

Почему-то этот прием работает неправильно. То есть в первый момент все нормально,
но при перемещении моего окна на нем остается изображение, скопированное на него
из десктопа при создании.

Пробовал обрабатывать сообщение WM_MOVE - написал Invalidate(); UpdateWindow();
- не помогает.

Может кто знает, в чем дело?
Подскажите!

Заранее спасибо.


 
BaDeVlad ©   (2004-03-11 21:37) [1]

Мало того, попробуй включить Active Desctop - еще не то увидишь :)



Страницы: 1 вся ветка

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.046 c
1-1081929819
Курдль
2004-04-14 12:03
2004.05.02
Как корректно освободить память, занятую записями из TList?


7-1078836911
ChcngerMan
2004-03-09 15:55
2004.05.02
Сканирование


1-1081849117
Alone
2004-04-13 13:38
2004.05.02
MakeObjectInstance - memory leak


8-1075538455
Reals
2004-01-31 11:40
2004.05.02
Как нарисовать на Рабочем столе (Desktop`е)


1-1081858010
ЕвгенийК
2004-04-13 16:06
2004.05.02
Обладатели Delphi 5 или BCB 5 дайте DsgnIntf.dcu PLS!