Thema: Delphi GLScene Bild verschieben

Einzelnen Beitrag anzeigen

Schuby

Registriert seit: 25. Dez 2018
86 Beiträge
 
#1

GLScene Bild verschieben

  Alt 26. Mär 2021, 17:03
Hallo,
ich bekomme es einfach nicht hin das ich mit der rechten Maustaste das
Bild in GLScene verschieben kann, also den Null Punkt nach links oder rechts o/u verschieben kann.

Mit GLSceneViewer1MouseWheel kann ich Zoomen
Mit GLSceneViewer1MouseMove kann ich überall hin drehen.

Aber verschieben, das bekomme ich nicht hin.

Kann mir jmd von euch einen Tipp geben ?

Mfg Schuby

Delphi-Quellcode:
//================================================
procedure TForm1.GLSceneViewer1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  mx:= x;
  my:= y;
end;

//================================================
procedure TForm1.GLSceneViewer1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if Shift=[ssLeft] then
  Begin
    GLCamera1.MoveAroundTarget(my-y,mx-x);
  end;

{  if Shift=[ssRight] then
  Begin
    ?????????????
  end; }

  mx:= x;
  my:= y;
end;

//================================================
procedure TForm1.GLSceneViewer1MouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
var step: Double;
begin
  if GLCamera1.FocalLength >= 20 then
  begin
    xx:= (WheelDelta / 20);
    GLCamera1.FocalLength:= GLCamera1.FocalLength + (step); //
    Edit1.Text:= FloatToStr(GLCamera1.FocalLength);
  end else
  begin
    GLCamera1.FocalLength:= 21;
  end;
end;
Miniaturansicht angehängter Grafiken
glscene.jpg  
  Mit Zitat antworten Zitat