Asociar BtnBmp a una tecla de funcion

Post Reply
RSalazarU
Posts: 177
Joined: Wed Jul 16, 2008 12:59 pm
Location: Cochabamba-Bolivia
Contact:

Asociar BtnBmp a una tecla de funcion

Post by RSalazarU »

Hola amigos del foro:

Se puede asociar un BtnBmp a una tecla de funcion, sin usar la funcion SetKey().

Dicho de otro modo, que al presiona la tecla F3 se ejecute el bAction de un BtnBmp.

El problema del SetKey() es que si abro un dialogo encima del que tiene el BtnBmp y los setkey() asignados, los setkey() tb son validos para el nuevo dialogo.

De antemano, gracias por la ayuda.

Atentamente,

Rolando
Cochabamba, Bolivia
User avatar
albeiroval
Posts: 323
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

Re: Asociar BtnBmp a una tecla de funcion

Post by albeiroval »

Rolando Prueba asi :

Code: Select all

aKeys    := { VK_F2, VK_F3 } 

REDEFINE BTNBMP oBtn[1] ID 4002 OF oDlg 2007;
    CENTER;
    PROMPT aOptions[1];
    FONT oFont1;
    ACTION ( lExit:= .T., lValYes:= .T., oDlg:End() );
    GRADIENT {|lInvert| if( lInvert, aClrGradInvert(), aClrGradGreen() ) }

REDEFINE BTNBMP oBtn[2] ID 4003 OF oDlg 2007;
    CENTER;
    PROMPT aOptions[2];
    FONT oFont1;
    ACTION ( lExit:= .T., lValYes:= .F., oDlg:End() );
    GRADIENT {|lInvert| if( lInvert, aClrGradInvert(), aClrGradRed() ) }

  oDlg:bKeyDown = {|nKey| KeyDown( nKey, aKeys, oBtn ) }

 ACTIVATE DIALOG oDlg;
    CENTERED;
    VALID lExit

......

static Function KeyDown( nKey, aKeys, oBtn )
  do case 
    case nKey == aKeys[1]; Eval( oBtn[1]:bAction )
    case nKey == aKeys[2]; Eval( oBtn[2]:bAction )
  endcase
Return nil

 
Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Asociar BtnBmp a una tecla de funcion

Post by FranciscoA »

Exactamente como dice albeiroval: (Probado)

Code: Select all

oDlg:bKeyDown := {|nKey| if(nKey == VK_F3, Eval(oBtn:bAction),) }
 
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
RSalazarU
Posts: 177
Joined: Wed Jul 16, 2008 12:59 pm
Location: Cochabamba-Bolivia
Contact:

Re: Asociar BtnBmp a una tecla de funcion

Post by RSalazarU »

Albeiroval, Francisco:

Muy buena la solucion, gracias.

Atentamente,

Rolando.
Post Reply