Francisco, modifica el metodo asi
Code: Select all
METHOD KeyDown( nKey, nFlags ) CLASS TXBrowse
local oCol
local uRet
if Valtype( ::bKeyDown ) = "B"
uRet := EVal( ::bKeyDown, nKey, nFlags, Self ) //, ::SelectedCol()
if ValType( uRet ) == 'N' .and. uRet == 0
return 0
endif
endif
if ! ::lScreenUpdating
return ::Super:KeyDown( nKey, nFlags )
endif
::CloseMessage()
do case
case nKey == VK_ESCAPE
.../...
y cuando lo uses, podrás hacerlo así:
Code: Select all
// Ejecuta el MsgInfo y después ejecutaría la accion por defecto de la tecla VK_DOWN o VK_UP
oBrw:bKeyDown := { | nKey | if( nKey = VK_DOWN .or. nKey = VK_UP, ( MsgInfo(nKey), 1 ) , ) }
o asi ( como ves, dependiendo de lo que devuelvas: 0 ó 1 )
Code: Select all
// Ejecuta el MsgInfo y termina ( vuelve )
oBrw:bKeyDown := { | nKey | if( nKey = VK_DOWN .or. nKey = VK_UP, ( MsgInfo(nKey), 0 ) , ) }
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.