MouseMove auf OpenGLControl

Rund um die LCL und andere Komponenten
Antworten
Mathias
Beiträge: 7220
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

MouseMove auf OpenGLControl

Beitrag von Mathias »

Unter Windows, wen ich mit der Maus über den OpenGLControl fahre, dann reagiert MouseMove.
Unter Linux geht es nicht.

MouseWheel geht unter Windows und Linux auf dem OpenGLControl.

Woran liegt das, kann ich dies umgehen ?

Code: Alles auswählen

  TForm1 = class(TForm)
    OpenGLControl1: TOpenGLControl;
    procedure FormCreate(Sender: TObject);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
    procedure FormMouseWheel(Sender: TObject; Shift: TShiftState;
      WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Color:=random($FFFFFF);;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  OpenGLControl1.Enabled:=False;
end;
 
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
  Color:=0;
end;
 
end.
Mit einem Panel habe ich den gleichen Effekt wie mit dem OpenGLControl.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 11206
Registriert: Mo 11. Sep 2006, 19:01

Re: MouseMove auf OpenGLControl

Beitrag von theo »

Verstehe zwar nicht viel davon, aber warum nimmst du die Mausereignisse des Formulars und nicht die des OpenGLControls ?

Mathias
Beiträge: 7220
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: MouseMove auf OpenGLControl

Beitrag von Mathias »

Weil OpenGLControl in einer OpenGL-Bibliothek von mir verbaut ist.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 11206
Registriert: Mo 11. Sep 2006, 19:01

Re: MouseMove auf OpenGLControl

Beitrag von theo »

Mathias hat geschrieben:Weil OpenGLControl in einer OpenGL-Bibliothek von mir verbaut ist.
Na und?

Antworten