PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Rueda del mouse y tablas
Rueda del mouse y tablas
Started by Susana Juárez, Sep., 11 2008 4:52 PM - 2 replies
Posted on September, 11 2008 - 4:52 PM
Hola, buenas,

Como todos sabeis, en una tabla de fichero (browsing table) la fila
seleccionada corresponde al registro en curso del fichero. Cuándo se hace
click sobre una fila se selecciona el registro del fichero
que corresponda, lo mismo ocurre si utilizamos la barra de desplazamiento.
En cambio, si nos desplazamos por la tabla con la rueda del mouse, aunque en
la tabla sea otra fila seleccionada, el registro en curso sigue siendo el
último sobre el que se ha hecho click. ¿Alguien sabe cómo sincronizar la
rueda del mouse y el fichero?

Gracias de nuevo
Posted on September, 12 2008 - 12:18 PM
Hola Suzana,

Puedes escribir este código en el codigo de la rueda.
Es un código opcional.
Espero que ayuda.

--
Pat
http://megustawindev.free.fr

p is int = TablePosition(MySelf)
n is int = TableCount(MySelf,toShown)

IF _EVE.wParam > 0 THEN n = -n

TablePosition(MySelf, p+n)
TableSelectPlus(MySelf, p+n)
_EVE.Return = False
Posted on September, 16 2008 - 4:44 PM
Muchas gracias Pat por tu respuesta.

He probado lo que me recomendabas, pero no funciona. Lo que he comprobado es
que sólo ocurre cuándo hay pocos registros en la tabla. Si se han
seleccionado más registros que filas tiene la tabla, funciona correctamente,
pero si se han seleccionado 3 o 4 registros, al usar la rueda, por ejemplo
para desplazarnos hacia arriba, aunque en la tabla esté seleccionada la
primera fila, el registro en curso del fichero sigue siendo el que estaba en
curso antes de desplazarnos con la rueda. El desplazamiento de la rueda es
de n filas en n filas, parece que si tienes menos de esas n filas en la
tabla, el puntero del fichero 'se pierde'.

En fin, gracias de nuevo

"pat" <ilikewd@free.fr> escribió en el mensaje
news:685eae866d4b411ce02741451aa106eb@news.pcsoft...

Hola Suzana,

Puedes escribir este código en el codigo de la rueda.
Es un código opcional.
Espero que ayuda.

--
Pat
http://megustawindev.free.fr

p is int = TablePosition(MySelf)
n is int = TableCount(MySelf,toShown)

IF _EVE.wParam > 0 THEN n = -n

TablePosition(MySelf, p+n)
TableSelectPlus(MySelf, p+n)
_EVE.Return = False