Ayuda con bkeydown vk_home, vk_up no me funciona

Post Reply
Databaselab2002
Posts: 142
Joined: Sun Oct 09, 2005 1:36 am

Ayuda con bkeydown vk_home, vk_up no me funciona

Post by Databaselab2002 »

Estimado Colegas

Tengo un problema que las teclas vk_home,vk_up,vk_down
no me funcionan en el browse no asi vk_return, vk_insert
vk_f2 , si alguien me puede orientar

Desde ya muchas gracias
Fabian
databaselab2002@yahoo.com.ar


adjunto codigo


include "FiveWin.ch" // Cabezera de FW



// Cabezera de FW



FUNCTION MAIN()

LOCAL oDlg, oBrw

DEFINE DIALOG oDlg

@ 1, 1 LISTBOX oBrw FIELDS SIZE 100, 30

* oBrw:bKeyDown:= {|nK| if( nK==VK_UP, ( MsgInfo(), oDlg:End() ), ) }
OBrw:bKeyDown := {|nk| MiFuncion(nk)}


@ 3, 1 BUTTON "&Close";
ACTION oDlg:End()

ACTIVATE DIALOG oDlg;
CENTER

RETURN NIL


*ero tal vez se vea mejor así:

*oTXbrowse:bKeyDown := {|nk| MiFuncion(nk)}

function MiFuncion(nk)
do case
case nk = VK_RETURN
*funcion1()
? "enter"

case nk = VK_F2
? "F2"

case nk = VK_INSERT
? "INSERT"

case nk = VK_HOME
? "HOME"
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Para poder usar esas teclas tienes que modificar la Clase TWBrowse de FW:

Code: Select all

METHOD KeyDown( nKey, nFlags ) CLASS TWBrowse

   if ::bKeyDown != nil       // Nuevo
      Eval( ::bKeyDown, nKey, nFlags )  // Nuevo
      return nil   // Nuevo
   endif  // Nuevo

   do case
      case nKey == VK_UP
           ::GoUp()

      case nKey == VK_DOWN
      ...
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Manuel Aranda
Posts: 561
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Post by Manuel Aranda »

Hola Antonio, he modificado la clase tal como señalas y ahora no funciona el wbrowse, no es posible pasar de un registro a otro con las teclas de cursos o con AvPag, RegPag , Inicio o Fin. La verdad es que me cuesta comprender como algo que funcionaba perfectamente en un ListBox no esté implementado de "serie" en TXBrowse para una cuestión que a mi me parece bastante importante y haya que meterse a modificar la clase con lo que esto conlleva para algunos de nosotros.

Saludos,
Manuel Aranda
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Manuel,

Hay que quitar "return nil" de esa modificación.

Vamos a revisar lo que comentas del browse, gracias.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Manuel Aranda
Posts: 561
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Post by Manuel Aranda »

Ya me he dado cuenta y lo he hecho, pero ahora el comportamiento es anómalo. Se ejecuta la función asociada pero se corresponde con el registro anterior, no en el que se sitúa el puntero. Además al pulsar INTRO para modificar el registro me ejecuta la acción dos veces seguidas.
Ya te digo, bastante extraño todo.
De momento estoy bloqueado con este tema y me estoy cuestionando el volver al LISTBOX. Esperaré a ver si encuentras una solución.

Saludos y gracias,
Manuel
Post Reply