FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Bloquear Teclado
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Bloquear Teclado
Posted: Mon Feb 27, 2012 05:15 PM
Hola foro,

Tengo un proceso donde quiero bloquear el teclado, cuaquier tecla que pulsen,,, ya que muestro un dialogo con un mensaje de "espere un momento", pero cuando esta el mensaje, pulsan cualquier tecla o ESC y el proceso se aborta no termina completo, este es mi codigo con un dialogo NOMODAL
Code (fw): Select all Collapse
   DEFINE DIALOG oDls RESOURCE "DLG_AVISO" TITLE "Procesando.." FONT ::oFont[2]

      REDEFINE SAY oSay PROMPT "Espere un momento ..." ID 100 OF oDls
      REDEFINE BUTTONBMP oBtnB       ID 101 OF oDls

   ACTIVATE DIALOG oDls CENTERED NOWAIT ;
            ON INIT ( oBtnB:Hide() )

   _Proceso()

   oDls:End()


saludos
paco
____________________

Paco
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: Bloquear Teclado
Posted: Mon Feb 27, 2012 06:25 PM

Ya probastes con msgrun()..? saludos... :shock:

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Re: Bloquear Teclado
Posted: Mon Feb 27, 2012 09:17 PM

que tal jose luis,

si uso msgrun( "espere un momento...","aviso",{|| Proceso()})

y cuando aparece el dialgo pulso ESC
el proceso se trunca
otra opcion?

gracias
paco

:-(

____________________

Paco
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Bloquear Teclado
Posted: Mon Feb 27, 2012 10:36 PM
Paco,

Prueba deshabilitando el diálogo:

Code (fw): Select all Collapse
   DEFINE DIALOG oDls RESOURCE "DLG_AVISO" TITLE "Procesando.." FONT ::oFont[2]

      REDEFINE SAY oSay PROMPT "Espere un momento ..." ID 100 OF oDls
      REDEFINE BUTTONBMP oBtnB       ID 101 OF oDls

   ACTIVATE DIALOG oDls CENTERED NOWAIT ;
            ON INIT ( oBtnB:Hide() )

    oDls:Disable()

   _Proceso()

   oDls:End()
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Re: Bloquear Teclado
Posted: Mon Feb 27, 2012 10:59 PM

Antonio,,

probado con oDls:Disable(), y no funciona, si presiono varias veces ESC procesa los eventos posterior al cerrar el dialogo,
probe con:

ACTIVATE DIALOG oDls CENTERED NOWAIT ;
ON INIT ( oBtnB:Hide() )

EnableWindow( oDls:hWnd, .F. )

_Proceso()

EnableWindow( oDls:hWnd, .T. )

oDls:End()

pero de cualquier manera procesa los que se pulso al activar EnableWindow( oDls:hWnd, .T.)
por eso la necesidad de limpiar el buffer, algo parecido al clear typeahead y no procese nada...
alguna otra sugerencia?
gracias
paco

____________________

Paco
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Bloquear Teclado
Posted: Tue Feb 28, 2012 12:02 AM
Francisco

Intenta con:
Code (fw): Select all Collapse
SetDialogEsc(.F.) //Desactiva la tecla ESC


Saludos,

Adhemar
Saludos,



Adhemar C.

Continue the discussion