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 NoScape()
RETURN !( GetKeyStat( 27 ) )
Y la llamo desde un valid del dialogo:
DEFINE DIALOG oDlg .....
...
...
ACTIVATE oDlg VALID NoScape()
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 NoScape() .AND. MiFuncion(...)
FUNCTION NoScape()
RETURN !( GetKeyStat( 27 ) )
Y la llamo desde un valid del dialogo:
DEFINE DIALOG oDlg .....
...
...
ACTIVATE oDlg VALID NoScape()
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 NoScape() .AND. MiFuncion(...)
Nos Gusta Programar