Thema: Delphi bewegliches Polygon

Einzelnen Beitrag anzeigen

verkouter

Registriert seit: 29. Dez 2004
64 Beiträge
 
Delphi 2010 Architect
 
#1

bewegliches Polygon

  Alt 4. Jan 2009, 10:31
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;
  Mit Zitat antworten Zitat