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;