Asociar BtnBmp a una tecla de funcion

Asociar BtnBmp a una tecla de funcion

Postby RSalazarU » Sat May 03, 2014 12:47 am

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
RSalazarU
 
Posts: 211
Joined: Wed Jul 16, 2008 12:59 pm
Location: Cochabamba-Bolivia

Re: Asociar BtnBmp a una tecla de funcion

Postby albeiroval » Sat May 03, 2014 4:34 pm

Rolando Prueba asi :

Code: Select all  Expand view

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
albeiroval
 
Posts: 361
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

Re: Asociar BtnBmp a una tecla de funcion

Postby FranciscoA » Sun May 04, 2014 12:27 am

Exactamente como dice albeiroval: (Probado)
Code: Select all  Expand view
oDlg:bKeyDown := {|nKey| if(nKey == VK_F3, Eval(oBtn:bAction),) }
 
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2112
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Asociar BtnBmp a una tecla de funcion

Postby RSalazarU » Sun May 04, 2014 12:42 pm

Albeiroval, Francisco:

Muy buena la solucion, gracias.

Atentamente,

Rolando.
RSalazarU
 
Posts: 211
Joined: Wed Jul 16, 2008 12:59 pm
Location: Cochabamba-Bolivia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 12 guests