Hola,
os adjunto un ejemplo para ver si me aclarais mis dudas ya no veo claro como debo enfocar la aplicación.
Como podeis comprobar solo se ve bien el GET de la Ventana2. En la 3 aunque he incrustado un Dialog en la MDIChild tampoco se ve bien.
Alguien me lo puede aclarar ?
Gracias
Josep
// Starting learning MDI enviroments
// First exercise
#include "FiveWin.ch"
extern Set
static oWnd
//----------------------------------------------------------------------------//
Function Main()
local oBar
DEFINE WINDOW oWnd FROM 1, 1 To 42, 95 ;
TITLE "Test Dialog/Window" MDI
// DEFINE BUTTONBAR oBar OF oWnd
DEFINE BUTTONBAR oBar _3D SIZE 50, 60 OF oWnd 2007 TOP
DEFINE BUTTON OF oBar PROMPT "Ventana 1" ACTION V1()
DEFINE BUTTON OF oBar PROMPT "Ventana 2" ACTION V2()
DEFINE BUTTON OF oBar PROMPT "Ventana 3" ACTION V3()
ACTIVATE WINDOW oWnd
return nil
//----------------------------------------------------------------------------//
Function V1()
local oWndChild
local oBar
local cName := "Test "
DEFINE WINDOW oWndChild MDICHILD OF oWnd TITLE "Ventana 1"
DEFINE BUTTONBAR oBar OF oWndChild
DEFINE BUTTON OF oBar ACTION MsgInfo( "Action" )
DEFINE BUTTON OF oBar ACTION oWndChild:End()
@ 3, 3 GET cName OF oWndChild SIZE 120, 25 VALID ! Empty( cName )
@ 6, 3 SAY "Prueba SAY:"
ACTIVATE WINDOW oWndChild
return nil
//----------------------------------------------------------------------------//
Function V2()
local oDlg
local oBar
local cName := "Test "
DEFINE DIALOG oDlg OF oWnd TITLE "Ventana 2"
/*
DEFINE BUTTONBAR oBar OF oDlg
DEFINE BUTTON OF oBar ACTION MsgInfo( "Action" )
DEFINE BUTTON OF oBar ACTION oDlg:End()
*/
@ 3, 3 GET cName OF oDlg SIZE 120, 25 VALID ! Empty( cName )
@ 6, 3 SAY "Prueba SAY:"
ACTIVATE DIALOG oDlg
return nil
//----------------------------------------------------------------------------//
Function V3()
local oWndChild, oDlg
local oBar
local cName := "Test "
DEFINE WINDOW oWndChild MDICHILD OF oWnd TITLE "Ventana 3"
DEFINE DIALOG oDlg OF oWndChild STYLE WS_CHILD
ACTIVATE DIALOG oDlg NOWAIT ;
ON INIT ( oDlg:Move( 0, 0, ;
getclientrect(oWndChild:hWnd)[4],;
getclientrect(oWndChild:hWnd)[3] ) ) ;
VALID .f.
DEFINE BUTTONBAR oBar OF oDlg
DEFINE BUTTON OF oBar ACTION MsgInfo( "Action" )
DEFINE BUTTON OF oBar ACTION oWndChild:End()
@ 3, 3 GET cName OF oDlg SIZE 120, 25 VALID ! Empty( cName )
@ 6, 3 SAY "Prueba SAY:" OF oDlg
ACTIVATE WINDOW oWndChild
return nil
//----------------------------------------------------------------------------//