Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Рисовать поверх рабочего стола


Автор: iddqd 29.12.2005, 23:17
Необходимо рисовать в какой-то определённо области экрана.
Создать что-то типа невидимой рамка, в которой можно было бы вывести картинку с возможностью замены на другую, без оставления следов от прошлой картинки если новая меньше по размеру.

Автор: deMike 1.1.2006, 13:20
Так, что? Ты хочешь конкретно выводить изображения в любой области экрана?

Автор: s-mike 1.1.2006, 14:48
А прозрачная форма не подойдет?

Автор: iddqd 1.1.2006, 15:56
Хочу. Чтоб нужная мне картинка выводилась прям поверх картинки рабочего стола.

s-mike, ну её ведь можно будет свернуть.
А надо, чтоб выглядило, как рисунок.

Автор: deMike 1.1.2006, 16:08
Слушай, легче будет если ты пояснишь суть программы...

Автор: s-mike 1.1.2006, 17:52
Цитата(iddqd @ 1.1.2006, 15:56)
s-mike, ну её ведь можно будет свернуть.
А надо, чтоб выглядило, как рисунок.

Форму без рамки (BorderStyle := bsNone) свернуть можно только программно. А мышью или с помощью меню - нет.

Автор: iddqd 2.1.2006, 03:50
deMike, вобще-то суть вроде ясна.
Пояснять её ещё раз это сложить вместе два моих поста.

s-mike, в принципе тоже вариант если с системной панели спрятать.
Но может есть другой, более лучший вариант?

Автор: s-mike 2.1.2006, 07:09
Цитата(iddqd @ 2.1.2006, 03:50)
Но может есть другой, более лучший вариант?

По-моему это как раз и есть лучший вариант ;) Потому что не нужно придумывать ухищрений, как перерисовывать фон под изображением.

Автор: Guest 4.1.2006, 17:51
Зачем ломать себе голову со всякими прозрачными формами,
если можно сразу рисовать на рабочем столе как на канве формы
например, следующая процедура выведет на экран белый прямоугльник:

Код


procedure PaintDesk;
var
  c: TCanvas;
begin
  c := TCanvas.Create;
       
  c.Handle := GetDC(GetWindow(GetDesktopWindow, GW_OWNER));

       //теперь на рабочем столе можно рисовать как на форме
  c.FillRect(rect(10,10,300,450));


  c.free;
end;



надеюсь, что поможет

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)