Ayuda con manejos de teclas

Ayuda con manejos de teclas

Postby carlos vargas » Thu Jan 10, 2019 7: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: Select all  Expand view

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)
User avatar
carlos vargas
 
Posts: 1688
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Ayuda con manejos de teclas

Postby cmsoft » 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.
User avatar
cmsoft
 
Posts: 1204
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Ayuda con manejos de teclas

Postby carlos vargas » Sat Jan 12, 2019 6:39 pm

Hola, como ha indicado cmsoft ha funcionado poniendo
Code: Select all  Expand view

::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)
User avatar
carlos vargas
 
Posts: 1688
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 44 guests