Página 1 de 1

Editar TdbBorowse

Publicado: Lun Mar 12, 2007 3:38 pm
por miguel
Hola,
Yo pretendo conseguir la siguiente funcionalidad de algunas teclas, para
ello tengo asignado el evento OnKeyDown de Browse
VK_INSERT -> inserta una linea -> funcionando sin hacer nada
CTRL+VK_INSERT -> Añadir una linea al browse ->Funcionando, perfecto
VK_RETURN -> Edita una celda -> funcionando sin hacer nada
CTRL+VK_RETURN -> Editar toda la linea -> no hay manera siempre edita
una sola celda.
He probado con CTRL+VK_F12 y ahi si que funciona, deduzco que la tecla
ENTER la captura antes el sistema.
METHOD BrwKeyDown( oSender, nKey, nFlags ) CLASS TForm
IF lGetKeyState( VK_CONTROL )
DO CASE
CASE nKey == VK_INSERT
oSender:Append()
CASE nKey == VK_F12
oSender:edit()
CASE nKey == VK_RETURN
oSender:edit()
ENDCASE
RETURN 0
ENDIF
RETURN Nil
Saludos. Miguel A. Torrellas

Editar TdbBorowse

Publicado: Lun Mar 12, 2007 3:44 pm
por miguel
Conseguido, mientras escribí­a mi anterior mensaje, se me ha ocurrido que
quizas lo adecuado era el evento OnKeyUp en lugar de OnKeyDown y
efectivamente ahora OK pleno.
Gracias.
Saludos. Miguel A. Torrellas
Miguel A. Torrellas escribió:
> Hola,
>
> Yo pretendo conseguir la siguiente funcionalidad de algunas teclas, para
> ello tengo asignado el evento OnKeyDown de Browse
>
> VK_INSERT -> inserta una linea -> funcionando sin hacer nada
> CTRL+VK_INSERT -> Añadir una linea al browse ->Funcionando, perfecto
> VK_RETURN -> Edita una celda -> funcionando sin hacer nada
> CTRL+VK_RETURN -> Editar toda la linea -> no hay manera siempre edita
> una sola celda.
>
> He probado con CTRL+VK_F12 y ahi si que funciona, deduzco que la tecla
> ENTER la captura antes el sistema.
>
> METHOD BrwKeyDown( oSender, nKey, nFlags ) CLASS TForm
>
> IF lGetKeyState( VK_CONTROL )
> DO CASE
> CASE nKey == VK_INSERT
> oSender:Append()
> CASE nKey == VK_F12
> oSender:edit()
> CASE nKey == VK_RETURN
> oSender:edit()
> ENDCASE
> RETURN 0
> ENDIF
>
> RETURN Nil
>
>
> Saludos. Miguel A. Torrellas