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
Asociar BtnBmp a una tecla de funcion
- albeiroval
- Posts: 323
- Joined: Tue Oct 16, 2007 5:51 pm
- Location: Barquisimeto - Venezuela
Re: Asociar BtnBmp a una tecla de funcion
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
- FranciscoA
- Posts: 1964
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: Asociar BtnBmp a una tecla de funcion
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
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
Re: Asociar BtnBmp a una tecla de funcion
Albeiroval, Francisco:
Muy buena la solucion, gracias.
Atentamente,
Rolando.
Muy buena la solucion, gracias.
Atentamente,
Rolando.