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

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

Как рисовать на экране?


TeNY ©   (2004-10-11 08:01:00) 

метод Canvas рисует только на текущей форме и ни дальше...


ISP   (2004-10-12 12:06:00) [1]

>Как рисовать на экране?
>TeNY ©   (11.10.04 08:01)
http://delphigfx.mastak.ru/samples/samp71.rar


Ivolg   (2004-10-12 09:57:00) [2]

Вот: Canvas.Handle:=GetDC(0);


KSergey   (2004-10-12 09:20:00) [3]

> [13] TeNY ©   (12.10.04 09:06)
> А как очистить экран после рисования,а то пятнаостаются
> на экране,исчезают только перезагрузки...

Сохранять надо что было ;)
Ну или InvalidateRect(0, nil, TRUE);


TeNY   (2004-10-12 09:06:00) [4]


> Думкин ©   (12.10.04 07:23) [12]
> GetDesktopWindow замени таки на 0.

так и есть.А как очистить экран после рисования,а то пятнаостаются на экране,исчезают только перезагрузки...


Думкин   (2004-10-12 07:23:00) [5]

GetDesktopWindow замени таки на 0.


TeNY   (2004-10-12 06:54:00) [6]

Ладно не там почитал не так понял,был неправ.
Но пучему код приведённый нижу не рисует,на форме рисует на дескопе нет?
var
 Form1: TForm1;
 X, Y: Integer;
 Canva:TCanvas;
implementation
{$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
begin
 WindowState := wsMaximized;
 Timer1.Interval := 50;
 Randomize;
end;
procedure TForm1.Timer1Timer(Sender: TObject);

begin
 X := Random(Screen.Width - 10);
 Y := Random(Screen.Height - 10);
 Canva.Pen.Color := Random(65535);
 case Random(5) of
   0: Canva.Pen.Style := psSolid;
   1: Canva.Pen.Style := psDash;
   2: Canva.Pen.Style := psDot;
   3: Canva.Pen.Style := psDashDot;
   4: Canva.Pen.Style := psDashDotDot;
 end;
 Canva.Rectangle(X, Y, X + Random(400), Y + Random(400));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Canva:=TCanvas.Create;
Canva.Handle:=GetDC(GetDesktopWindow);
end;

end.


ЮЮ   (2004-10-11 10:58:00) [7]

[4] Using Canvas methods to draw graphic objects
[7] В справке ошибка

Canvas methods - это методы Canvas-а, например Rect, FillRect, и т.п. О чём спор то? Да, у некотрых компонентов есть свой Canvas, доступ к корому осуществляется через одноименное свойство, но для рисования изпользуются методы этого Canvas-а


Gero   (2004-10-11 10:55:00) [8]


КаПиБаРа ©   (11.10.04 10:52)
> Canvas.Handle := GetDesktopWindow

GetDC(GetDesktopWindow)


Gero   (2004-10-11 10:53:00) [9]


> Как та можешь рисовать на свойстве :);

А на методе можно рисовать? LOL.

> Почитай справку грамотей...
вот цитата из справки
Using Canvas methods to draw graphic objects

Подучи английский, а заодно и Object Pascal грамотней.

> Это хорошо что дескриптор получили но какими методами можно
> рисовать или как обращатся к canvas имея дескриптор

SomeCanvas.Handle := GetDC(0);


КаПиБаРа   (2004-10-11 10:52:00) [10]

TeNY ©   (11.10.04 10:46) [4]
Canvas.Handle := GetDesktopWindow


> Почитай справку грамотей...

В справке ошибка


begin...end   (2004-10-11 10:51:00) [11]


> [4] TeNY ©   (11.10.04 10:46)


> Как та можешь рисовать на свойстве

Хе. Лучше на методе рисовать, правда?

> Using Canvas methods to draw graphic objects

Перевод:Используйте методы {класса} TCanvas для рисования графических объектов.

P.S. Happy English не помешает.


Думкин   (2004-10-11 10:50:00) [12]

>  [4] TeNY ©   (11.10.04 10:46)

Обзываться плохо, обзываться ошибаясь - ламерство.
Так вот Canvas - таки свойство, а рисовать можно с помощью методов, о чем кстати, в приведенном вами отрывке и написано.

А эта - WinApi однако например.


TeNY   (2004-10-11 10:46:00) [13]


> Gero ©   (11.10.04 08:13) [3]
>
> > метод Canvas
>
> Это не метод, а свойство.

Почитай справку грамотей...Как та можешь рисовать на свойстве :);
вот цитата из справки
Using Canvas methods to draw graphic objects

> Думкин ©   (11.10.04 08:13) [2]
> Или лучше с GetDesktopWindow

Это хорошо что дескриптор получили но какими методами можно рисовать или как обращатся к canvas имея дескриптор


Думкин   (2004-10-11 08:13:00) [14]

Или лучше с GetDesktopWindow


Gero   (2004-10-11 08:13:00) [15]


> метод Canvas

Это не метод, а свойство.


Думкин   (2004-10-11 08:06:00) [16]

рисуй на десктопе
GetDC(0)


Наверх

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