Ver Mensaje Individual
  #3  
Antiguo 10-04-2011
FENIXadr FENIXadr is offline
Miembro
 
Registrado: may 2010
Ubicación: Córdoba - Cba. - Argentina
Posts: 104
Reputación: 17
FENIXadr Va por buen camino
Muchas gracias por tu respuesta ecfisa.. lo que sucede es que de esta maner entra lo mismo 3 veces o lo que le diga WheelScrollLines, con lo cual sigue sumando el contador de las imagenes a mostrar...
No hago scroll, por lo tanto Scrollby no es usado.... pero he encontrado una manera (con la variable Handled) y la pongo aqui para que otra persona con el mismo problema la use :

Código Delphi [-]
........ 
......   
var       
  Movimiento, Posicion, PosMaxima : Integer; 
..... 
..... 
....  

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;   MousePos: TPoint; var Handled: Boolean); 
begin   
  Posicion := Posicion + Movimiento;   
  if Posicion < 0 then     
    Posicion := 0;   
  MostrarImagen (Posicion);   
  Handled := True;     // Asignando True a Handled no vuelve a entrar. 
end;  


procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;   MousePos: TPoint; var Handled: Boolean);  
begin   
  Posicion := Posicion + Movimiento;   
  if Posicion >= PosMaxima then     
    Posicion := PosMaxima-1;   
  MostrarImagen (Posicion);   
  Handled := True; 
end;  


procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;   WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);  
begin    
  Movimiento := WheelDelta div 120; 
end;

WheelDelta tiene un valor de 120 o -120 cuando se mueve apenas la ruedita hacia arriba o hacia abajo respectivamente por eso la variable Movimiento siempre se suma porque su signo cambia automáticamente, yo uso esta forma porque si se mueve la rueda despacio, Movimiento es 1 o -1 pero si movemos la rueda mas fuerte Movimiento puede ser mayor con lo cual incremenatmos o decrementamos de a más de uno, que es lo que el usuario supuestamente quiere, por mover la ruedita mas rápido...

Bueno espero que esto le sirva a alguien más.... saludos..

Última edición por FENIXadr fecha: 10-04-2011 a las 16:44:30. Razón: no se que pasó que me junto todo el codigo.. grrrrr
Responder Con Cita