Hallo, ich bin neu im Forum.
Ich habe auf eine Form vier kleine Image liegen die mit der Maus beweglich sind.
Nur wenn ich eine der Bilder bewege,soll zwischen allen bildern ein Polygon gezeichnet werden,
daß wieder verschwindet wenn die Maus losgelassen wird.
Mein Quelltext.
Delphi-Quellcode:
procedure TForm2.ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then
begin
FDragging := True;
FLastPos := Point(X, Y);
TControlAccess(Sender).MouseCapture := True;
end;
end;
procedure TForm2.ImageMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if FDragging then
begin
TControlAccess(Sender).Left := TControlAccess(Sender).Left + X - FLastPos.X;
TControlAccess(Sender).Top := TControlAccess(Sender).Top + Y - FLastPos.X;
form2.Canvas.Pen.Color:=clRed;
form2.Canvas.Pen.Mode:=pmNotXor;
form2.Canvas.Pen.Style:=psDot;
form2.Canvas.MoveTo(image2.Left+9,image2.top+9);
form2.Canvas.Polygon([(point(image2.Left+9,image2.Top+9)),point(image3.Left+9,image3.Top+9),
(point(image5.Left+9,image5.Top+9)),(point(image4.left+9,image4.Top+9))]);
end;
end;
procedure TForm2.ImageMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then
begin
FDragging := False;
end;
end;