PDA

Ver la Versión Completa : Problema con MouseScroll de DBGrid...


JoysticK
15-08-2008, 08:15:36
Pues tengo por un lado un DBGrid que muestra el contenido de una tabla, en el mismo formulario tengo el detelle de cada registro con sus campos, y la propiedad dgAlwaysShowSeleccion del DBGrid en True, la cosa es que si le doy al scroll del raton en el dbgrid, la barra azul de registro seleccionado se mueve de un registro a otro, pero el puntero no, lo que significa que la parte del detalle de los registros no se actualiza, para que se actualizen esos campos tengo que usar las teclas flecha arriba, flecha abajo, ¿ alguien tiene alguna solución para esto ?

Caro
15-08-2008, 16:46:49
Hola JoysticK, revisa esta pagina http://delphi.about.com/cs/adptips2002/a/bltip1102_3.htm

Saluditos

JoysticK
16-08-2008, 02:30:04
Gracias Caro, segun la web tengo que añadir un componente TApplicationEvent, de la paleta "Additional" y en el OnMessage de este componenete añadir el codigo:

if Msg.message = WM_MOUSEWHEEL then
begin
Msg.message := WM_KEYDOWN;
Msg.lParam := 0;
i := HiWord(Msg.wParam) ;
if i > 0 then
Msg.wParam := VK_UP
else
Msg.wParam := VK_DOWN;

Handled := False;
end;


La variable I la he definido como Word, pero me devuelve unos valores bastante extraños, si doy ruleta arriba me devuelve 120, 360, 480, dependiendo de la velocidad con la que gire la ruleta, si hago ruleta abajo 65416,65296,64936.... Unos valores muy raros... al final voy a dejar el codigo asi:

if Msg.message = WM_MOUSEWHEEL then
begin
Msg.message := WM_KEYDOWN;
Msg.lParam := 0;
i := HiWord(Msg.wParam) ;

if i < 1100 then
Msg.wParam := VK_UP
else
Msg.wParam := VK_DOWN;

Handled := False;
end;


Y vere si me hace cosas raras en otros ordenadores, gracias por el cable nuevamente Caro :D