Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-05-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Obtener configuración en Windows del incremento de la Rueda de Raton

Hola Compañer@s !

Cómo puedo obtener en mi programa Delphi el valor configurado en Windows correspondiente al número de incrementos que se producen cada vez que se gira la rueda del ratón ?

Gracias por vuestra ayuda.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #2  
Antiguo 16-05-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Encontré esto

Cita:
SystemInformation..::.MouseWheelScrollDelta Property


Gets the amount of the delta value of a single mouse wheel rotation increment.
Como puedo obtener dicho valor en Delphi ?
__________________
Piensa siempre en positivo !
Responder Con Cita
  #3  
Antiguo 16-05-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Acaso no es una constante??? (WHEEL_DELTA)
Responder Con Cita
  #4  
Antiguo 16-05-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Gracias Javier,

He estado indagando acerca de WHEEL_DELTA como constante y WheelDelta como parámetro pasado en el evento OnMOuseWheel. También ví este hilo tuyo.

Lo que pasa es que precisamente WHEEL_DELTA es una constante que (creo) define el número de píxeles a mover.

Mi problema surge por otro lado. Al parecer, al estar trabajando con un componente de terceros, el evento OnMouseWheel (o también OnMouseWheelDown y OnMouseWheelUp) se me ejecuta tres veces cada vez que giro la rueda de ratón.

Si pongo Handled := True en dicho evento, a pesar de todo me vuelve a ejecutar en este caso dos veces el mismo evento !

Por más que intento encontrar el por qué, no me lo explico. Entiendo, y además lo he utilizado en otras partes de mi programa donde no utilizo este componente de terceros, que con Handled := True debe de ejecutarme el OnMouseWheel una única vez. Pues no .... Dos veces.

Y no tengo forma de evitarlo. Por eso estaba indagando acerca del valor definido en el Panel de Control de Windows para el valor de la rueda del ratón. Y apañarmelas yo de alguna manera. Pero por eso parece que el WHEEL_DELTA no me sirve porque al analizarlo, el valor de la constante es 120 y no es ningún valor concreto que me indica el número de veces previsto que se va a ejecutar la rutina OnMouseWheel en el (teórico) caso de que no utilizara Handled := True.

A lo mejor alguien sabe ayudarme de otra manera.

Gracias de nuevo
__________________
Piensa siempre en positivo !
Responder Con Cita
  #5  
Antiguo 16-05-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Busqué .... y encontré ....

Código Delphi [-]
SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, My_Value, 0)

Me devuelve el valor que busco del número de avances que provoca cada giro de la rueda del ratón dentro de la variable My_Value que es del tipo LongBool.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #6  
Antiguo 16-05-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var Value: Cardinal;
begin
 SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, @Value, 0);
 ShowMessage(IntToStr(Value));
end;

Lo mismo te hiba a decir, ahora solo te corrijo a pesar de no ser el adecuado;

Cita:
Empezado por gluglu Ver Mensaje
...A lo mejor alguien sabe ayudarme de otra manera.
Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Scroll con rueda del ratón en DBCtrlGrid Chandra OOP 2 04-08-2015 23:03:36
rueda central del raton, no vaaa User_baja1 Varios 9 17-06-2011 01:05:47
Rueda del raton no me anda en los fomularios federico1 Varios 1 10-02-2007 02:14:10
Delphi3 y la rueda central del ratón kuan-yiu Varios 0 21-07-2006 12:09:46
Deshabilitar Rueda del Ratón eliasterrero Varios 3 14-10-2003 11:35:32


La franja horaria es GMT +2. Ahora son las 01:09:02.


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
Copyright 1996-2007 Club Delphi