Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.034 Beiträge
 
Delphi 12 Athens
 
#10

AW: Egosicht Problem: Beim positionieren der Maus

  Alt 23. Dez 2011, 14:39
Folgendes sollte bei gedrückter Shift-Taste ein Drehen des Kopfes nach links und rechts ermöglichen - bis zur Tischkante...

Delphi-Quellcode:
  private
    FLast: TPoint; // speichert die letzte Mausposition
Beim Form das KeyPreview auf true stellen.

im FormKeyDown:

Delphi-Quellcode:
  if Key = VK_SHIFT then begin
    FLast := GLSceneViewer1.ScreenToClient(Mouse.CursorPos);
    GLSceneViewer1.Cursor := -1;
  end;
im FormKeyUp:

Delphi-Quellcode:
  if Key = VK_SHIFT then begin
    GLSceneViewer1.Cursor := crDefault;
  end;
und im SceneViewerMouseMove:

Delphi-Quellcode:
  if ssShift in Shift then begin
    GLDummyCube1.Turn(X - FLast.X);
    FLast := Point(X, Y);
    if Abs(X - GLSceneViewer1.Width div 2) > 10 then begin
      FLast := Point(GLSceneViewer1.Width div 2, GLSceneViewer1.Height div 2);
      Mouse.CursorPos := GLSceneViewer1.ClientToScreen(FLast);
    end;
  end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat