Como evito que se cierre un dialogo al presionar <Escape&

Como evito que se cierre un dialogo al presionar <Escape&

Postby José Ríos » Mon Apr 24, 2006 1:33 am

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.
José Ríos
 
Posts: 119
Joined: Fri Nov 04, 2005 12:23 am

Postby lafug » Mon Apr 24, 2006 2:58 am

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
Luis Alfonso Fuentes Guerrero
FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop
User avatar
lafug
 
Posts: 185
Joined: Thu Nov 17, 2005 12:48 am
Location: Santiago, Chile

Postby manuramos » Mon Apr 24, 2006 7:07 pm

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(...)
Nos Gusta Programar
manuramos
 
Posts: 219
Joined: Mon Dec 26, 2005 7:25 pm
Location: Jerez de la Frontera (Spain)

Postby José Ríos » Tue Apr 25, 2006 8:01 pm

Muchas gracias por los tips, me han sido muy utiles.


Saludos.

Jose Rios.
José Ríos
 
Posts: 119
Joined: Fri Nov 04, 2005 12:23 am


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 46 guests