FranciscoA wrote:Hola Adrian.
El problema que tenía era en un xBrowse de donde tomo los datos de productos (estoy desarrollando un comandero, para bar-restoran).
Este browse tiene x columnas, por defecto no editables, al cual al darle enter para tomar los datos, el puntero del browse pasaba a la siguiente columna,
lo cual resultaba incomodo. Claro que lo había resuelto llamanda a GoleftMost() después de retornar los datos, pero como dije: incomodo y anti-estetico.
Aquí está como lo solucioné:
:bKeyDown := {|nKey| if( nKey == VK_RETURN, ( PostMessage( oBrwMenu:hWnd, WM_KEYDOWN, VK_LEFT ), MiCalculad(x,x) ),) }
La Function MiCalculad(x,x) es un dialogo calculadora para digitar cantidad del producto.
Cualquier información estoy a tus ordenes.
Vos mencionas un caso con edicion de celda. ¿Podrias poner codigo o ampliar tu comentario?
Saludos.
Gracias Ing. Francisco, apenas leo tu respuesta,estuve fuera del foro un buen tiempo, disculpa por responderle hasta ahora.
Y gracias por el ejemplo, pero en mi caso creo que es diferente al de usted, ya que yo ejecuto ciertas condiciones,como eliminar y altas,no se si es lo mismo como funciona con el ejemplo que proporciona,dentro incluyo la funcion
Val_nKetDet().
oBrw:bKeyDown := {| nKey| Val_nKDet(nKey) }- Code: Select all Expand view RUN
STATIC FUNCTION Val_nKDet(nKey)
DO CASE
CASE nKey == VK_INSERT .AND. lNew
KeyToggle(VK_INSERT)
Mod_Cap(.T.)
CASE nKey == VK_DELETE .AND. lNew
Sup_Cap()
CASE nKey == VK_RETURN .AND. lNew
Mod_Cap(.F.)
ENDCASE
RETURN (NIL)
El objetivo es al dar enter dentro del browse es que no se salte a la siguiente columna, que se quede fijo, es como la pantallla de la captura de de polizas el que le pase , si se acuerda ing. Francisco,supongo que si, bueno hare pruebas y le comento .
Gracias Ing. Francisco.
Saludos.
Atte: Adrian C. C.
acc69@hotmail.com