Page 1 of 1

Combinacion de teclas en un GET

Posted: Sun May 24, 2020 7:57 pm
by jvtecheto
Hola amigos:

En un objeto GET en un cuadro de dialogo me gustaria que al pulsar una combinacion de letras realizara una determinada accion.
hago esto. Tengo puesto en el valid del oCodigo !(Empty(cCodigo)) para que no dejen el campo vacio. No creo que influya.

Code: Select all

#include "inkey.ch"

oCodigo:bKeyDown := { | nKey | IIf( nKey == K_CTRL_INS,MsgInfo("Hola") ,  ) }

 
¿Que hago mal?

Gracias por vuestra ayuda.

Saludos.

Jose.

Re: Combinacion de teclas en un GET

Posted: Sun May 24, 2020 8:50 pm
by compubrion
Saludos !
oCodigo es la variable ó el objeto get

Re: Combinacion de teclas en un GET

Posted: Sun May 24, 2020 8:53 pm
by Armando
Jvtecheto:

Aquí un ejemplo

Code: Select all

       IF GetAsyncKey( VK_F2, VK_F12 )
       ……
       ……
       ENDIF
 
Aplica cuando el usuario oprime las teclas F2 + F12 y RETURN

SAludos

Re: Combinacion de teclas en un GET

Posted: Sun May 24, 2020 8:53 pm
by jvtecheto
Hola.

Gracias por tu interés

Es el objeto get, la variable es cCodigo

Saludos.

Enviado desde mi POCOPHONE F1 mediante Tapatalk

Re: Combinacion de teclas en un GET

Posted: Sun May 24, 2020 9:41 pm
by cnavarro
Jose Vicente, a ver si esto te sirve de algo

Code: Select all

#include "FiveWin.Ch"

Function Main()
   Local oDlg
   Local oGet
   local cVar := space( 20 )

   DEFINE DIALOG oDlg from 0,0 to 400,400 pixel

      @ 15,15 GET oGet VAR cVar PICTURE "@!" BITMAP "..\bitmaps\chkyes.bmp" ACTION( msginfo( "action" ) );
         SIZE 120,12 OF oDlg PIXEL
      oGet:lAdjustBtn := .t.
      oGet:bKeyDown   := { | nKey, nFlag | TeclaPulsada( nKey, nFlag ) }

   ACTIVATE DIALOG oDlg 
 
 return nil

Function TeclaPulsada( nKey, nFlag )

   local lControl := GetKeyState( VK_CONTROL )
   local lShift   := GetKeyState( VK_SHIFT )
   local lMenu    := GetKeyState( VK_MENU )

   if lControl .and. nKey = 65
      FWLOG nkey, nFlag, lControl, lShift, lMenu
   endif

Return 0
 

Re: Combinacion de teclas en un GET

Posted: Sun May 24, 2020 10:01 pm
by horacio
Hola Cristobal, que hace esta instrucción?

Code: Select all

FWLOG nkey, nFlag, lControl, lShift, lMenu
 
Gracias

Saludos

Re: Combinacion de teclas en un GET

Posted: Sun May 24, 2020 10:06 pm
by cnavarro
Horacio, te crea un fichero con extensión .LOG ( con el nombre del EXE ), y va guardando lo que tu le pongas después del comando FWLOG, y se usa como alternativa a la depuración, aunque yo suelo utilizar también esta otra "modalidad"

Code: Select all

#include "Fivewin.ch"

Static oWnd

function Main()

   //StartFWLog( nTop, nLeft, nHeight, nWidth, lDown, lLines, lCouple, cTitle )
   StartFWLog( , , 622, 590, .F., .T., , )    //.F.
   DEFINE WINDOW oWnd FROM 0, 0 TO 750, 1365 PIXEL ;
      TITLE "FWH Test FWINLOG - " + FWVERSION MENU BuildMenu()
   ACTIVATE WINDOW oWnd ON INIT Inicial() MAXIMIZED

return nil

//----------------------------------------------------------------------------//

Static Function BuildMenu()

   local oMnu
   MENU oMnu
      MENUITEM "Options"
      MENU
         MENUITEM "Option - 1" ACTION Uno() 
         SEPARATOR
         MENUITEM "Exit" ACTION oWnd:End()
      ENDMENU
      MENUITEM "Others"
      MENU
         MENUITEM "Others - 2" ACTION Dos()
         SEPARATOR
         MENUITEM "Others - 3" ACTION Tres()
      ENDMENU
   ENDMENU
   
Return oMnu

//----------------------------------------------------------------------------//

Function Inicial()

FWINLOG Len( oWnd:oMenu:aMenuItems )

Return nil

//----------------------------------------------------------------------------//

Function Uno()

FWINLOG oWnd

Return nil

//----------------------------------------------------------------------------//

Function Dos()

FWINLOG oWnd:oMenu

Return nil

//----------------------------------------------------------------------------//

Function Tres()

FWINLOG oWnd:nHeight

Return nil

//----------------------------------------------------------------------------//

 

Re: Combinacion de teclas en un GET

Posted: Tue May 26, 2020 8:12 pm
by horacio
Cristobal, muchas gracias por el tip

Saludos

Re: Combinacion de teclas en un GET

Posted: Sun May 31, 2020 5:30 am
by joseluisysturiz
compubrion wrote:Saludos !
oCodigo es la variable ó el objeto get
Disculpen use este modo, saludos Compubrion, por favor comunicate conmigo por joseluisturiz@yahoo.com, 04142317600, wsap, gracias...

Re: Combinacion de teclas en un GET

Posted: Sun May 31, 2020 2:19 pm
by nageswaragunupudi
jvtecheto wrote:Hola amigos:

En un objeto GET en un cuadro de dialogo me gustaria que al pulsar una combinacion de letras realizara una determinada accion.
hago esto. Tengo puesto en el valid del oCodigo !(Empty(cCodigo)) para que no dejen el campo vacio. No creo que influya.

Code: Select all

#include "inkey.ch"

oCodigo:bKeyDown := { | nKey | IIf( nKey == K_CTRL_INS,MsgInfo("Hola") ,  ) }

 
¿Que hago mal?

Gracias por vuestra ayuda.

Saludos.

Jose.

Code: Select all

   oGet:bKeyDown := { |k| If( k == VK_INSERT .and. GetKeyState( VK_CONTROL ), ( MsgInfo( "CtrlInsert" ), 0 ), nil ) }
 

Re: Combinacion de teclas en un GET

Posted: Sun May 31, 2020 3:58 pm
by jvtecheto
Thanks Mr. Rao,

I had solved it by pressing only the + key with this code.

Code: Select all

oDlg:bKeydown := {|nKey| IIF(nKey == VK_ADD,(cCodigo:=NextRecord("Emp",2),MsgInfo("El registro siguiente sera " + cCodigo) ),nil )}
 
The function simply calculates the record following the last one.

Thank you always for your support

Jose.