FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda con manejos de teclas
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM

Ayuda con manejos de teclas

Posted: Thu Jan 10, 2019 07:36 PM
Estimados, solicito su ayuda de ser posible:
Escenario:
Una ventana fullscreen, la cual tiene 6 controles Say (los cuales no obtiene focos, no tengo problemas con ellos),
luego un Panel el cual contiene un video (este panel en determinado momento se maximiza al tamaño de la pantalla, desactivando todos los otros controles, ahi pasara a manejar las teclas con MyKeyHandler,
en estado normal no es necesario, ya que no tiene foco),
y luego dos xbrowse ( con estos tengo problemas ya que obtiene el foco ).
esto es por que las tecla seran configuradas, sabemos que las teclas de movimientos up, down, left y right son manejadas por los propios browse, en mi caso no deso que los browse procesen esas teclas.

El asunto es que deseo manejar en un solo procedure el manejo de las teclas, que los browse no obtengan foco nunca, pero respondan a por ejemplo este codigo
por ejemplo el segundo browse no deberar tomar foco ni manejar ninguna tecla, solo sirve para mostrar una lista.
El primer browse no debera tomar foco y solo debera poder bajar o subir o selecionar, nada mas.
El panel que muestra el video no debera manejar ninguna tecla cuando este en tamaño normal, pero cuando este en fullscreen debera responder a cualquier tecla, en ese momento retorna a su tamaño normal y se evalua MyKeyHandler

Code (fw): Select all Collapse
DEFINE WINDOW oWnd...
   @1,1 XBROWSE oBrw1 ...
   @2,2 XBROWSE oBrw2 ...

 oWnd:bKeyDown := {|nKey| MyKeyHandler(nKey) }

procedure MyKeyHandler( nKey )
 do case
 case nKey == VK_RETURN //esta tecla es configurable
  PlayVideo()
 case nKey == VK_LEFT //esta tecla es configurable
  ShowInfo()
 case nKey == VK_RIGHT //esta tecla es configurable
  ShowInfo()
 case nKey == VK_UP //esta tecla es configurable
  oBrw1:Up()
 case nKey == VK_DOWN //esta tecla es configurable
  oBrw1:Down()
 case nKey == ???  //agregara creditos

 endcase
return nil
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM

Re: Ayuda con manejos de teclas

Posted: Thu Jan 10, 2019 10:29 PM

Hola Carlos:
El segundo browse podria ser con
@2,2 XBROWSE oBrw2 ... WHEN(.F.)
Si no necesita ser tocado.

Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM

Re: Ayuda con manejos de teclas

Posted: Sat Jan 12, 2019 06:39 PM
Hola, como ha indicado cmsoft ha funcionado poniendo
Code (fw): Select all Collapse
::oMediaList:bWhen := {|| FALSE }
::oPlayList:bWhen := {|| FALSE }

aca oMediaList y oPlayList son los browse.
ahora todas las teclas son atrapadas por mi manejado de teclas
y ahi lanzo las procesos. Ahora me falta controlar el panel, que cuando no es pequño no procese las teclas pero cuando esta maximizado sip.

Gracias.
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)

Continue the discussion