Page 1 of 1

Salir de un Dialogo CLIPPER + FW

Posted: Sat Apr 11, 2009 11:03 pm
by LuisPonce
Hola

Como puedo hacer para que cuando presione ESC se salga del DIALOG y de la WINDOW, solo se pone en blanco la pantalla pero para salir de la ventana (WINDOW) tengo que cerrarla con X (esquina superior derecha), este es el resumen de mi codigo:

FUNCTION Vender()

DEFINE WINDOW oWndPantalla MDICHILD FROM 0.1,0.1 TO 30,140 TITLE "Movimiento de Ventas"

DEFINE DIALOG oDlgPantalla RESOURCE "Pantalla" OF oWndPantalla
......
......

REDEFINE BTNBMP ID 377 OF oDlgPantalla NAME "BSALIR" TOOLTIP "Salir sin grabar.." ACTION (oDlgPantalla:End(),oWndPantalla:End()) CANCEL

ACTIVATE DIALOG oDlgPantalla NOWAIT ON INIT RefrescaItm(aButItm,aItems,oDlgPantalla,30)

ACTIVATE WINDOW oWndPantalla MAXIMIZED ;
ON INIT (oDlgPantalla:Move(0,0)) ;
VALID (oLbxVenta:lCloseArea())

oFntArial:End()
oFntArial01:End()
oFntArial02:End()

RETURN Nil

Pese a que le doy End() al Dialogo y a su ventana, no lo ejecuta.

Gracias por sus respuestas

Re: Salir de un Dialogo CLIPPER + FW

Posted: Sun Apr 12, 2009 8:42 am
by Antonio Linares
Luis,

Aqui tienes un ejemplo funcionando bien:

Code: Select all

#include "FiveWin.ch"

function Main()

   local oWnd, oDlg

   DEFINE WINDOW oWnd TITLE "window"
   
   oWnd:bKeyDown = { | nKey | If( nKey == VK_ESCAPE, oWnd:End(),) }

   DEFINE DIALOG oDlg TITLE "dialog non modal"

   ACTIVATE DIALOG oDlg NOMODAL CENTERED

   ACTIVATE WINDOW oWnd MAXIMIZED ;
      ON INIT oDlg:SetFocus()

return nil