Einzelnen Beitrag anzeigen

Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#13

Re: Muss einen Kompass programmieren...

  Alt 18. Nov 2007, 20:18
Hier ein Ansatz, um das auf dem Canvas des Forms zu machen:
Delphi-Quellcode:
var
  Form1: TForm1;
  MittelPunkt: TPoint;
  MausPunkt: TPoint;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ClientWidth:=600;
  ClientHeight:=600;
  MittelPunkt.X:=ClientWidth div 2;
  MittelPunkt.Y:=ClientHeight div 2;
end;
{Nun hast du einen Mittelpunkt. Dieser ist der Ausgangspunkt für alles Weitere.
Um Diesen zeichnest du einen Kreis mit einem Radius deiner Wahl (Vorschlag: 100)}

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  MausPunkt.X:=X;
  MausPunkt.Y:=Y;
{ jetzt hast du die Mouse-Koordinaten. Nun musst du den Winkel von MittelPunkt
  und MausPunkt berechnen und anhand dessen vom Kreismittelpunkt entsprechned dem
  Winkel eine Linie in der Länge des Radius (oder etwas kürzer) zeichnen. Das ist
  dann der Zeiger, der immer in Richtung Maus zeigt. }

end;
Ich gehe mal davon aus, dass du weißt, wie man ein neues Project in Delphi erstellt
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat