Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Рабочий стол за формой [D7, WinXP]


NoSilence ©   (2010-01-29 23:38:00) 

как получить изображение за формой, не скрывая ее?

замел, что при получении изображения рабочего стола, отсутствует плавающее окошко download мастера.


antonn   (2010-01-30 22:55:00) [1]


> NoSilence   (30.01.10 22:31) [11]
>
>
> Сначала обрадовался. Но при каждом обновлении форма учитывает
> себя и начинает темнеть.

Потому код с Королевства предварительно прятал свое окно, чтобы сфотографировать задник :) Костыль, за неимением лучшего.


DVM   (2010-01-30 22:46:00) [2]


> NoSilence   (30.01.10 14:43) [6]
> Так, получилось прорисовать на форме все что за ней. Оказывается
> формы с прозрачность не учитываются.
>
> http://img42.imageshack.us/img42/1772/formkn.jpg
>

Vista и W7 и так умеют рисовать такие окна. Или тебе под XP обязательно надо?


NoSilence   (2010-01-30 22:31:00) [3]


> так вот дальше бы надо...
> BitBlt(***,SrcCopy or $40000000);

Сначала обрадовался. Но при каждом обновлении форма учитывает себя и начинает темнеть.


antonn   (2010-01-30 17:50:00) [4]


> BitBlt...

так вот дальше бы надо...
BitBlt(***,SrcCopy or $40000000);


NoSilence   (2010-01-30 17:47:00) [5]


> смотря как "фотографировать"

...CDesktop:= TCanvas.Create;
CDesktop.Handle:= GetDC(GetDesktopWindow);
BitBlt...


Идея с перемещением провалилась, т.к. содержимое окон меняются независимо от своих положений...


> кстати в окнах видеоплееров скорее всего не будет отображаться видео

Ну и фиг с ним.


antonn   (2010-01-30 17:07:00) [6]

кстати в окнах видеоплееров скорее всего не будет отображаться видео, если цвет замены оверлея изменять


antonn   (2010-01-30 17:06:00) [7]


> Оказывается формы с прозрачность не учитываются.

смотря как "фотографировать"


NoSilence   (2010-01-30 14:43:00) [8]

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

http://img42.imageshack.us/img42/1772/formkn.jpg

Теперь, чтобы постоянно не перерисовывать форму, я создал список всех активных форм и проверяю не переместилось ли. Появилась проблема с закрытыми окнами. Функции, типа, IsWindow, IsWindowVisible и пр. работают как-будто окно и не пропадало. Как узнать?


Anatoly Podgoretsky   (2010-01-30 13:59:00) [9]

> NoSilence  (29.01.2010 23:38:00)  [0]

За формой нет изображения, голый черный квадрат Малевича.


antonn   (2010-01-30 01:47:00) [10]

"Кликомания" была


Игорь Шевченко   (2010-01-30 01:34:00) [11]

antonn ©   (30.01.10 01:23) [2]

Lines пишешь ?


antonn   (2010-01-30 01:23:00) [12]

ищи либо SetLayeredWindowAttributes либо UpdatelaуredWindow, они сделают форму полупрозрачной (прикольно, яндекс по последней выдает в картинках мой игрушку =))


KilkennyCat   (2010-01-30 00:02:00) [13]

Все виндовые фишки описаны в MSDN


Наверх

Титульная страница Поиск, карта сайта Написать письмо