![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Рабочий стол за формой [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