FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour MDICHILD y :Hide() -- Problema en FWH 25.06
Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
MDICHILD y :Hide() -- Problema en FWH 25.06
Posted: Sat Aug 16, 2025 06:07 PM
Buenas tardes Antonio,

He cambiado de la versiĂłn FWH 25.01 a la 25.06 y me encuentro con este problema (me afecta poco).

Defino una MDICHILD asĂ­:
DEFINE WINDOW oWndTimer MDICHILD FROM 0,0 TO 1,1 TITLE ;
        " " COLORS J02CLRTEXTO,J02CLRWND OF ;
        AMPAarra[1][1][2][1][1] NOZOOM PIXEL
Defino un Timer asĂ­:
DEFINE TIMER oTimer1 OF oWndTimer INTERVAL 60000 ACTION hb_threadStart( { || ;
		                                                        ( oTimer1:Deactivate(), ;
									  WarningDemo( .T., .F. ), ;
									  oTimer1:Activate() ) } )
Activo la MDICHILD asĂ­:
ACTIVATE WINDOW oWndTimer ;   //   MAXIMIZED ;   ON INIT oLBmnda:Set( AMPAarra[1][2][5][3] ) ;
                VALID ( If( AMPAarra[4][1], oTimer1:End(), Nil ), AMPAarra[4][1] ) ;
                ON INIT oWndTimer:Hide()
Pués resulta que el "ON INIT oWndTimer:Hide()" del ACTIVATE ha dejado de no funcionar.

Para resolverlo, lo he elimindado del "ON INIT" y lo he puesto después así (desvinculado del ACTIVATE):
SysRefresh()    // Por si acaso.
oWndTimer:Hide()
Es un mal menor dependiendo de cuantos :Hide() de MDICHILD se tengan en la aplicaciĂłn.

Ya dirĂĄs,

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 61
Joined: Wed Jul 26, 2023 12:08 PM
Re: MDICHILD y :Hide() -- Problema en FWH 25.06
Posted: Sat Aug 16, 2025 08:13 PM

Hi Carlos,

You don't need call :Hide() method for TWindow() or TMDIFrame() or TMDiChild()

After window define, auto call oWnd:Hide() from TWindow() in :New() method

oWnd and aControls not showed until ACTIVATE WINDOW oWnd.

This changes build in FWH 25.04

Best regards,
Ertan,

ertan_ozturk@yahoo.com
Posts: 61
Joined: Wed Jul 26, 2023 12:08 PM
Re: MDICHILD y :Hide() -- Problema en FWH 25.06
Posted: Sat Aug 16, 2025 08:29 PM

Hi again,

We need to use this method( autohide ) for TDialog.

::bInit executed before oWnd:Activate and we need new variable ::bStart for executed after oWnd:Activate

in progress. Build in next FWH release.

Best regards,
Ertan,

ertan_ozturk@yahoo.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: MDICHILD y :Hide() -- Problema en FWH 25.06
Posted: Sun Aug 17, 2025 07:16 AM
Estimado Carlos,

Este ejemplo creo que sirve para entender lo que comentas:
#include "FiveWin.ch"

function Main()

   local oWnd, oWndChild

   DEFINE WINDOW oWnd MDI 

   DEFINE WINDOW oWndChild MDICHILD NOZOOM 

   // ACTIVATE WINDOW oWndChild ON INIT oWndChild:Hide()

   oWndChild:Hide()

   ACTIVATE WINDOW oWnd 

return nil
Vamos a revisar por que el ON INIT desde ACTIVATE de la ventana child no se ejecuta
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: MDICHILD y :Hide() -- Problema en FWH 25.06
Posted: Sun Aug 17, 2025 07:25 AM
Si revisas Class TWindow Method Activate() verĂĄs que bInit se evalĂșa ANTES de que se muestre la ventana.

Se puede comprobar asĂ­:
#include "FiveWin.ch"

function Main()

   local oWnd, oWndChild

   DEFINE WINDOW oWnd MDI 

   DEFINE WINDOW oWndChild MDICHILD NOZOOM 

   ACTIVATE WINDOW oWndChild ON INIT MsgInfo( IsWindowVisible( oWndChild:hWnd ) )
   
   ACTIVATE WINDOW oWnd 

return nil
Por lo que tiene sentido que el mensaje Hide() no funcione ya que la ventana aĂșn no estĂĄ visible.

Lo que no entiendo es por que te funcionaba antes...
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
Re: MDICHILD y :Hide() -- Problema en FWH 25.06
Posted: Sun Aug 17, 2025 10:25 AM
Antonio Linares wrote: Estimado Carlos,

Este ejemplo creo que sirve para entender lo que comentas:
#include "FiveWin.ch"

function Main()

   local oWnd, oWndChild

   DEFINE WINDOW oWnd MDI 

   DEFINE WINDOW oWndChild MDICHILD NOZOOM 

   // ACTIVATE WINDOW oWndChild ON INIT oWndChild:Hide()

   oWndChild:Hide()

   ACTIVATE WINDOW oWnd 

return nil
Vamos a revisar por que el ON INIT desde ACTIVATE de la ventana child no se ejecuta
No exactamente.

El "ON INIT" se ejecuta (tengo otras acciones en el "ON INIT" que sĂ­ se realizan), pero el :Hide() no oculta la MDICHILD.

De momento lo tengo resuelto asĂ­:
   DEFINE WINDOW oWnd MDI 

   DEFINE WINDOW oWndChild MDICHILD NOZOOM 

   //ACTIVATE WINDOW oWndChild ON INIT oWndChild:Hide()

   //oWndChild:Hide()

   ACTIVATE WINDOW oWnd 

   oWndChild:Hide()

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: MDICHILD y :Hide() -- Problema en FWH 25.06
Posted: Mon Aug 18, 2025 09:47 AM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
Re: MDICHILD y :Hide() -- Problema en FWH 25.06
Posted: Mon Aug 18, 2025 01:09 PM
Antonio Linares wrote: https://forums.fivetechsupport.com/viewtopic.php?p=281055#p281055
Gracias Antonio,

No abĂ­a caĂ­do en mirar el cĂłdigo de la Window.

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Continue the discussion