Тупость в Delphi с PaintBox
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Тупость в Delphi с PaintBox - 2010-02-02 17:54:22.753333
|
|
|
RedWhiteHate
Сообщений: 5
Оценки: 0
Присоединился: 2010-02-02 17:05:52.353333
|
ну например так:
procedure Tpoint.DRAWS(drw: TCanvas);
begin
drw.Brush.Color:=clBlack;
drw.Pen.Color:=clBlack;
drw.Ellipse(100+x1, 300+y1, 110+x1, 310+y1);
end;
так на Form1 виводит
procedure TForm1.Button5Click(Sender: TObject);
begin
P.DRAWS(Form1.Canvas);
end;
а на PaintBox1 не хочет, нужно на PaintBox, а не хочет, что за тупость??
procedure TForm1.Button5Click(Sender: TObject);
begin
P.DRAWS(PaintBox1.Canvas);
end;
Помогите…
|
|
|
RE: Тупость в Delphi с PaintBox - 2010-02-02 19:06:09.283333
|
|
|
tеstеr
Сообщений: 377
Оценки: -46
Присоединился: 2008-02-08 17:56:40.563333
|
P.DRAWS(PaintBox1.Canvas); Ты передаешь в процедуру класс, а не указатель на класс. Таким оробразом, вызов P.DRAWS(PaintBox1.Canvas); можно понять так: 1. получить класс PaintBox1.Canvas 2. сделать копию этого класса 3. передать копию класса в процедуру P.DRAWS Поэтому нереходи к указателям, ведь копия класса не обязательно будет иметь тот же самый HWND и так далее, все зависит от того как реализовано копирование в конкретном случае.
|
|
|
RE: Тупость в Delphi с PaintBox - 2010-02-07 15:16:53.936666
|
|
|
ZnakVoprosa
Сообщений: 37
Оценки: 0
Присоединился: 2010-01-31 19:36:50.236666
|
procedure Tpoint.DRAWS; var drw:tcanvas; begin drw.handle:=paintbox1.canvas.handle; drw.Brush.Color:=clBlack; drw.Pen.Color:=clBlack; drw.Ellipse(100+x1, 300+y1, 110+x1, 310+y1); end; или procedure Tpoint.DRAWS(dc:hdc); var drw:tcanvas; begin drw.canvas.handle:=dc; drw.Brush.Color:=clBlack; drw.Pen.Color:=clBlack; drw.Ellipse(100+x1, 300+y1, 110+x1, 310+y1); end; procedure TForm1.Button5Click(Sender: TObject); begin P.DRAWS(PaintBox1.Canvas.handle); end; или чтобы нарисовать на desktop-е :) procedure TForm1.Button5Click(Sender: TObject); var dc:hdc; begin dc:=getdc(0); P.DRAWS(dc); end;
|
|
|
|
|