Я так и хотел, но у меня ума не хватило скопировать на временный битмап,
на панели очень много всего нарисовано, чтоб не переписывать всё рисование по отношению к битмапу, а сразу, одной-двумя командами скопировать всю канву панели в битмап, так можно?
например я пишу
procedure TForm1.Panel1Paint(Sender: PControl; DC: HDC);
begin
with sender.Canvas^ do
begin
brush.color:=$ffffff;
rectangle(0,0,300,300);
pen.Color:=0;
moveto(100,10);
lineto(50,50);
end;
end;
procedure TForm1.Button1Click(Sender: PObj);
var dst,src:trect;
begin
dst.Left:=0;
dst.Top:=0;
dst.TopLeft.X:=0;
dst.TopLeft.Y:=0;
dst.BottomRight.X:=300;
dst.BottomRight.Y:=300;
src.Left:=0;
src.Top:=0;
src.TopLeft.X:=0;
src.TopLeft.Y:=0;
src.BottomRight.X:=300;
src.BottomRight.Y:=300;
bmp.Create;
bmp.Width:=300;
bmp.Height:=300;
bmp.Canvas.CopyRect(dst,panel1.Canvas,src);
bmp.CopyToClipboard;
end;
и ничего не происходит, только программа вылетает
Подскажите пожалуйста.