Thema: Delphi Shape mit Maus bewegen

Einzelnen Beitrag anzeigen

hefner

Registriert seit: 28. Feb 2007
2 Beiträge
 
#1

Shape mit Maus bewegen

  Alt 28. Feb 2007, 21:24
Hey. Der Thema hier ist eigentlich nicht als Frage sondern als Antwort gedacht. Muss für die Schule ein Spiel programmieren und hab mich für Mühle entschieden. Nun hatte ich das Problem, dass ich nicht wusste, wie man einen runden Shape (soll einen Spielstein darstellen)im laufenden Programm mit der maus auf der form bewegt. Hab hier ziehmlich lang im forum rumgesucht und keine lösung gefunden. Kann sein das das hier schon irgendwo steht aber ich hab folgendes gemacht (funktioniert auch):



Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
pt := Mouse.CursorPos;
Shape1.Left := pt.X-370;
Shape1.top := pt.y-280;
Image1.Left := Shape1.Left;
Image1.top := Shape1.top;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
timer1.Enabled := true;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
timer1.Enabled := false;
end;

Über das eigentlich Shape muss man noch ein Image legen (ist unsichtbar wenn man es nicht füllt), da man soweit ich weiß den Shape nicht selbst anwählen kann. Außerdem benötigt man einen Timer, der ständig die Position aktualisiert (sollte man so auf 10 setzen).
So. Weiß nicht ob das die sauberste art war aber was anderes ist mir nicht eingefallen. wenn jemand was besseres weiß kann er es bitte sagen
  Mit Zitat antworten Zitat