Hola colegas.
Necesito desactivar el cierre de un dialogo cuando se presiona la tecla <Escape>. ¿Alguien sabe como hacerlo?.
Uso FWH 2.4 y Xharbour 0.99.3.
De antemano muchas gracias.
Jose Ríos.
Como evito que se cierre un dialogo al presionar <Escape&
José, condiciona la salida del dialogo con una variable
local lSale :=.f.
local oDlg
DEFINE DIALOG oDlg RESOURCE "ODLG_FACTURA" TITLE "mi dialogo"
REDEFINE BTNBMP oB311 ID 311 RESOURCE "SALIR" OF oDlg ACTION (lSale:=.t., oDlg:end());
ACTIVATE DIALOG oDlg VALID lSale
local lSale :=.f.
local oDlg
DEFINE DIALOG oDlg RESOURCE "ODLG_FACTURA" TITLE "mi dialogo"
REDEFINE BTNBMP oB311 ID 311 RESOURCE "SALIR" OF oDlg ACTION (lSale:=.t., oDlg:end());
ACTIVATE DIALOG oDlg VALID lSale
Luis Alfonso Fuentes Guerrero
FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop
FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop
Yo personalmente utilizo la funcion:
FUNCTION _()
RETURN !( GetKeyStat( 27 ) )
Y la llamo desde un valid del dialogo:
DEFINE DIALOG oDlg .....
...
...
ACTIVATE oDlg VALID _()
Observa que la función devuelve .T. cuando no se ha pulsado Escape. Por si quieres utilizarlo en conjunción con otras funciones. Por ejemplo
VALID _() .AND. MiFuncion(...)
FUNCTION _()
RETURN !( GetKeyStat( 27 ) )
Y la llamo desde un valid del dialogo:
DEFINE DIALOG oDlg .....
...
...
ACTIVATE oDlg VALID _()
Observa que la función devuelve .T. cuando no se ha pulsado Escape. Por si quieres utilizarlo en conjunción con otras funciones. Por ejemplo
VALID _() .AND. MiFuncion(...)
Nos Gusta Programar