El programa sigue la siguiente estructura, abro una ventana, desde esta ventana on init abre un dialogo con opciones de menu(botones), al pulsar el boton ventas pido la fecha mediante la funcion MsGet, y despues abro otra ventana para visualizar el resultado. La primera vez todo ok, el resto no puede abrir el dialogo de MsgGet.
Code: Select all
# INCLUDE "FwCE.ch"
STATIC oWnd
FUNCTION MAIN()
//--------DEFINICION DE VARIABLES-------
LOCAL nOpcSel, oBmp
PRIVATE oWnd
DEFINE WINDOW oWnd TITLE 'Crmbl'
ACTIVATE WINDOW oWnd ;
ON INIT MnuPri()
RETURN NIL
//------------------
FUNCTION MnuPri()
//------------------
LOCAL oDlg,oBtnVta,oBtnEnd,dFecha:=Date()
DEFINE DIALOG oDlg RESOURCE "MNUPRI" OF oWnd
REDEFINE BUTTON oBtnVta ID 4001 OF oDlg ACTION (IF(MsgGet('Fecha','Fecha',@dFecha),Algo(),nil))
REDEFINE BUTTON oBtnEnd ID 4006 OF oDlg ACTION (oWnd:END())
ACTIVATE DIALOG oDlg CENTERED
RETURN NIL
//---------------------
STATIC FUNCTION Algo()
//---------------------
LOCAL oWnd,oBtn
DEFINE WINDOW oWnd TITLE "Algo"
oBtn:=tButton():New(14,01,'&oK',oWnd,{||oWnd:End()},50,20)
ACTIVATE WINDOW oWnd
RETURN NIL
Code: Select all
#include <windows.h>
#include <commctrl.h>
LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US
MNUPRI DIALOG DISCARDABLE 36, 32, 138, 180
STYLE WS_POPUP|DS_MODALFRAME|WS_SYSMENU|WS_VISIBLE
FONT 8, "System"
BEGIN
CONTROL "V E N T A S", 4001, "Button", WS_TABSTOP, 12, 28, 48, 16
CONTROL "S A L I R", 4006, "Button", WS_TABSTOP, 72, 80, 48, 16
15
END