Problema Teclas en Diálogo

Problema Teclas en Diálogo

Postby jmartial » Wed Oct 15, 2014 9:43 pm

Hola,

Tengo el problema de controlar las teclas pulsadas en un diálogo desde recursos.

Quiero controlar ESC, RETURN y alguna más.

Para empezar no me captura ninguna y al pulsar ESCAPE, se cierra el diálogo.

Code: Select all  Expand view

 SetDialogEsc(.F.)                
    DEFINE DIALOG ::oDlg RESOURCE "FAMILIAS" FONT ::ofont COLOR CLR_BLACK, CLR_WHITE TRANSPARENT

    WITH OBJECT ::oTreeFamilias := TTreeView():REDEFINE(102, ::oDlg,CLR_BLACK,CLR_GREEN , .F. ,"" )
        :setColor( CLR_HBLUE, CLR_WHITE )
        :setFont(::oFontTree)
        :bEraseBkGnd = { || nil }  // Soluciona el fallo con Diálogos TRANSPARENT
   END

  ......

     ::oDlg:bKeyChar := {|nkey| msginfo(nKey) }
     ::oDlg:bKeyDown := {|nkey| msginfo(nKey) }
     
     ACTIVATE DIALOG ::oDlg CENTERED ON INIT ( oSelf:creaBarBtnsSelect(), oSelf:loadTree()  )
 



Ni muestra ninguna tecla, pulse la que pulse y se sale, ignorando SetDialogEsc(.F.)

No lo entiendo. ¿Tan dificil es que me funcione bkeydown o hay que hacer algo que se me escapa?
Un Saludo,
Joaquín Martínez
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Re: Problema Teclas en Diálogo

Postby joseluisysturiz » Thu Oct 16, 2014 12:13 am

Con esto evitas se cierre el dialog con Esc...saludos... :shock:

ACTIVATE DIALOG oDlg CENTER ;
VALID( !GETKEYSTATE( VK_ESCAPE ) )
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Problema Teclas en Diálogo

Postby jmartial » Thu Oct 16, 2014 12:19 am

Hola,
Eso ya lo sabía, pero esa no es la cuestión, es el mal funcionamiento.


Gracias,
Un Saludo,
Joaquín Martínez
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Re: Problema Teclas en Diálogo

Postby joseluisysturiz » Thu Oct 16, 2014 12:30 am

jmartial wrote:Hola,
Eso ya lo sabía, pero esa no es la cuestión, es el mal funcionamiento.


Gracias,

Intenta con esto, a mi me funciona al pelo, saludos... :shock:

AEval( oDlg:aControls, {|o| o:bKeyDown:= {|nKey| IF( nKey== VK_F5, mi_funcion(), NIL ) } } ) // PARA UNO SOLO...
AEval( oDlg:aControls, {|o| o:bKeyDown:= {|nKey| key_funciones( nKey, { } ) } } ) // PARA VARIOS...
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Problema Teclas en Diálogo

Postby jmartial » Thu Oct 16, 2014 11:45 am

Gracias Jose Luís,

Pero eso no es lo que busco, lo que busco es saber como hacer que funcione bKeyDown, bKeyChar y setDialogEsc(.F.) en los diálogos desde recursos.

Nada de esto me funciona, y creo que no es correcto.
Un Saludo,
Joaquín Martínez
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Re: Problema Teclas en Diálogo

Postby joseluisysturiz » Thu Oct 16, 2014 3:29 pm

jmartial wrote:Gracias Jose Luís,

Pero eso no es lo que busco, lo que busco es saber como hacer que funcione bKeyDown, bKeyChar y setDialogEsc(.F.) en los diálogos desde recursos.

Nada de esto me funciona, y creo que no es correcto.

Entonces no te entendi, como dijistes esto "Tengo el problema de controlar las teclas pulsadas en un diálogo desde recursos.Quiero controlar ESC, RETURN y alguna más." asumi que necesitabas pulsar cualquier tecla y ejecutar algo, de la forma que te lo envie controlo cualquier tecla pulsada, principalmente las teclas Fn...no tengo mas ideas al respecto, saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Problema Teclas en Diálogo

Postby karinha » Thu Oct 16, 2014 3:53 pm

Code: Select all  Expand view

#include "FiveWin.ch"

function Main()

   local oDlg, cTest := Space( 10 )

   SetDialogEsc( .F. )

   DEFINE DIALOG oDlg TITLE "Prueba de Teclado"
   
   @ 2, 2 GET cTest OF oDlg

   oDlg:bKeyDown = { | nKey | MsgInfo( "Minusculas.: " + Str( nKey ) ) }
   oDlg:bKeyChar = { | nKey | MsgInfo( "Mayusculas.: " + Str( nKey ) ) }

   ACTIVATE DIALOG oDlg CENTERED

return nil
 


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7352
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Problema Teclas en Diálogo

Postby jmartial » Thu Oct 16, 2014 4:14 pm

Jose Luis,

Puse un código de ejemplo.

¿ Has probado ese código y te funciona ? En teoría debería funcionar y a mí no me funciona. Preguntaba si a todos os pasa igual o yo estoy
haciendo algo mal.

Siento no haberme explicado con claridad.

Gracias,
Un Saludo,
Joaquín Martínez
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Re: Problema Teclas en Diálogo

Postby joseluisysturiz » Thu Oct 16, 2014 4:31 pm

jmartial wrote:Jose Luis,

Puse un código de ejemplo.

¿ Has probado ese código y te funciona ? En teoría debería funcionar y a mí no me funciona. Preguntaba si a todos os pasa igual o yo estoy
haciendo algo mal.

Siento no haberme explicado con claridad.

Gracias,


El codigo lo coloco antes del ACTIVATE del DIALOG y al pulsar las teclas que valide funciona sin problemas, saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

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

cron