He modificado el formulario para que me capture teclas y las vincule al
control Navigator, pero en controles como TBDatePicker no funciona. ¿He de
sobrecargar el control, o se trata de un bug?
Karl
METHOD FormKeyDown( oSender, nKey, nFlags ) CLASS TIntrastat
LOCAL
aTeclas:={VK_HOME,VK_PRIOR,VK_NEXT,VK_END,VK_INSERT,VK_DELET E,VK_RETURN,;
VK_RETURN,VK_BACK},nTecla
if nKey=VK_ESCAPE
::Close()
elseif lGetKeyState( VK_CONTROL ) .or. lGetKeyState( VK_SHIFT )
nTecla:=aScan(aTeclas,nKey)
if ::oDBNavigator1:aItems[8]:lEnabled //¿Está editando un registro
if nKey=VK_RETURN
nTecla++ //Opción grabar, misma tecla que editar
elseif nKey<>VK_BACK
nTecla:=0 //Bloquea todas las otras teclas
end
end
if nTecla>0
::oDBNavigator1:Command( BN_CLICKED, TB_ID_FIRST+nTecla )
end
endif
RETURN Nil
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Uso de teclas en Formulario
-
- Mensajes: 81
- Registrado: Mar Oct 18, 2005 7:20 pm
- ignacio
- Site Admin
- Mensajes: 9440
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Uso de teclas en Formulario
Karl,
Muchos controles del API utilizan determinadas pulsaciones para su propio
uso y no notifican de su uso. Es posible que sea el caso. Intente mandarnos
un ejemplo indicando exactamente que pulsación de teclado no le llega.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
http:/xailer.info
"Karl Svensson" <karl@bcnartis.com> escribió en el mensaje de
noticias:4a8bd823$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> He modificado el formulario para que me capture teclas y las vincule al
> control Navigator, pero en controles como TBDatePicker no funciona. ¿He de
> sobrecargar el control, o se trata de un bug?
> Karl
>
> METHOD FormKeyDown( oSender, nKey, nFlags ) CLASS TIntrastat
> LOCAL
> aTeclas:={VK_HOME,VK_PRIOR,VK_NEXT,VK_END,VK_INSERT,VK_DELET E,VK_RETURN,;
> VK_RETURN,VK_BACK},nTecla
> if nKey=VK_ESCAPE
> ::Close()
> elseif lGetKeyState( VK_CONTROL ) .or. lGetKeyState( VK_SHIFT )
> nTecla:=aScan(aTeclas,nKey)
> if ::oDBNavigator1:aItems[8]:lEnabled //¿Está editando un registro
> if nKey=VK_RETURN
> nTecla++ //Opción grabar, misma tecla que editar
> elseif nKey<>VK_BACK
> nTecla:=0 //Bloquea todas las otras teclas
> end
> end
> if nTecla>0
> ::oDBNavigator1:Command( BN_CLICKED, TB_ID_FIRST+nTecla )
> end
> endif
> RETURN Nil
>
>
Muchos controles del API utilizan determinadas pulsaciones para su propio
uso y no notifican de su uso. Es posible que sea el caso. Intente mandarnos
un ejemplo indicando exactamente que pulsación de teclado no le llega.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
http:/xailer.info
"Karl Svensson" <karl@bcnartis.com> escribió en el mensaje de
noticias:4a8bd823$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> He modificado el formulario para que me capture teclas y las vincule al
> control Navigator, pero en controles como TBDatePicker no funciona. ¿He de
> sobrecargar el control, o se trata de un bug?
> Karl
>
> METHOD FormKeyDown( oSender, nKey, nFlags ) CLASS TIntrastat
> LOCAL
> aTeclas:={VK_HOME,VK_PRIOR,VK_NEXT,VK_END,VK_INSERT,VK_DELET E,VK_RETURN,;
> VK_RETURN,VK_BACK},nTecla
> if nKey=VK_ESCAPE
> ::Close()
> elseif lGetKeyState( VK_CONTROL ) .or. lGetKeyState( VK_SHIFT )
> nTecla:=aScan(aTeclas,nKey)
> if ::oDBNavigator1:aItems[8]:lEnabled //¿Está editando un registro
> if nKey=VK_RETURN
> nTecla++ //Opción grabar, misma tecla que editar
> elseif nKey<>VK_BACK
> nTecla:=0 //Bloquea todas las otras teclas
> end
> end
> if nTecla>0
> ::oDBNavigator1:Command( BN_CLICKED, TB_ID_FIRST+nTecla )
> end
> endif
> RETURN Nil
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com