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