Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   OnMouseWheel se me ejecuta 3 veces (https://www.clubdelphi.com/foros/showthread.php?t=42177)

gluglu 05-04-2007 20:15:53

OnMouseWheel se me ejecuta 3 veces
 
Hola a todos !

Estoy intentando ejecutar un código en mi programa cuando muevo la rueda del ratón.

En principio, la rueda debe de hacer lo mismo que si pulsara Cursor Izquierda o Cursor Derecha.

Lo que pasa es que al parecer al interceptar el evento OnMouseWheelDown o OnMouseWheelUp del Frame (o Form) en el que lo necesito, siempre se me ejecutan estos eventos 3 veces. :mad:

Supongo que será algún tipo de configuración del propio Windows que cada movimiento de la ruedecita me provoque 3 pasos. No deseo cambiar esa configuración, ya que para todo lo demás va perfecto (incluso para hacer scroll's de otros elementos).

Pero en este caso quiero que el código necesario se ejecute sólo 1 vez.

Código Delphi [-]
procedure TBAssF0.FrameMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
 
  ...
  // siempre que muevo la rueda del ratón me ejecuta
  // este código 3 veces !
  ...
 
end;
Como podría hacerlo ?

Gracias por vuestra ayuda. ;)

ArdiIIa 05-04-2007 20:47:26

Hola gluglu:

Por Handled := True;

De todas formas tiene un comportamiento diferente a si interceptas por ejemplo en un form...

gluglu 06-04-2007 01:24:34

Gracias ! Funciona perfectamente :p


La franja horaria es GMT +2. Ahora son las 04:20:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi