Evitar parpadeo al abrir varias ventanas child ( how to )

Evitar parpadeo al abrir varias ventanas child ( how to )

Postby Raymundo Islas M. » Sat Aug 16, 2008 3:49 am

Hola a todos

Tengo una ventana padre, y al momento de ejecutar la app debo abrir varias hijas al inicio, todo bien excepto que se produce un parpadepo segun se estan abriendo las demas ventanas, hay algo que se pueda hacer ?


:P
Esto me recuerda a aquellos dias de clipper cuando se usaba :

DispBegin(), DispEnd(), SaveScreen(), RestScreen()

:wink:


Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Postby Antonio Linares » Sat Aug 16, 2008 6:55 am

Raymundo,

Puedes probar a ocultarlas todas con oMdiChild:Hide() y no mostrarlas hasta que no esten todas creadas.

Otra solución es crearlas en coordenadas fuera de la zona visible y luego cambiarlas de posición cuando ya estan todas credas.

Tambien comentarte que FiveWin implementa el equivalente a los legendarios DispBegin() y DispEnd() :-) pero no se si en este caso te serían de ayuda. Prúebalo :-)

Antes de empezar a crear las ventanas hijas llama a local aInfo := oMdiFrame:DispBegin() y despues de crear todas las ventanas hijas, llama a oMdiFrame:DispEnd( aInfo ) :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41898
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Raymundo Islas M. » Sat Aug 16, 2008 7:47 pm

Hola Antonio,

Eso de generar la ventana en coordenadas negativas funciona muy bien, el detalle cuando quiere restaurarlas en la pocision correcta, me pinta solo la mitad de la misma.

checa la imagen

Image


Y asi es como lo estoy haciendo :


Code: Select all  Expand view
DEFINE WINDOW oEmpWndPOS MDICHILD ;
   OF oMainRSWnd ;
   FROM -10,-10 TO -5,-5 PIXEL ;      //FROM 0,0 TO 680,1020 PIXEL ;
   TITLE "Modulo POS"  ;
   NOCAPTION BORDER NONE ;   
   BRUSH oDlgsBrsh ;
   MENUINFO 4



Code: Select all  Expand view
ACTIVATE WINDOW oEmpWndPOS ;
   VALID ( oEmpWndPOS := NIL, .T. )

oEmpWndPOS:Move( 0,0,680,1020 )




Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Postby Antonio Linares » Sat Aug 16, 2008 7:53 pm

Raymundo,

Prueba a añadir este parámetro:

oEmpWndPOS:Move( 0, 0, 680, 1020, .T. )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41898
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Raymundo Islas M. » Sat Aug 16, 2008 8:03 pm

Gracias por tan pronta respuesta Antonio,

Probado, pero sigue igual.


Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Postby Raymundo Islas M. » Sat Aug 16, 2008 8:16 pm

Antonio,

He aumentado el parametro :

oEmpWndPOS:Move( 0,0,680,1020,.T.)

a:

oEmpWndPOS:Move( 0,0,1100,1020,.T.)

Y ya me muestra la pantalla completa

No se la razon, pero al menos ya quedo !!!



Gracias


Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Postby Antonio Linares » Sat Aug 16, 2008 8:34 pm

bien :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41898
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Evitar parpadeo al abrir varias ventanas child ( how to )

Postby Willi Quintana » Tue Sep 28, 2010 2:59 pm

Holas...
Siempre he creado las MDI de esta manera:
se crea un ventana "pequeña", en el extremo superior de la pantalla, luego al tomar el tamaño del dialogo, no hay parpadeo,,, o al menos no se nota...
Code: Select all  Expand view

DEFINE WINDOW oWndK MDICHILD FROM 0,0 to 2,2 OF oWnd ............
  DEFINE DIALOG oDlg,,,,,,,




ACTIVATE DIALOG oDlg CENTER NOWAIT ;
                ON INIT ( oDlg:Move( 0, 0 ) ;
               VALID  (oWndK:End(), lSalir )
                oWndK:bGotFocus  = { || oDlg:SetFocus() }
ACTIVATE WINDOW oWndK ;
               ON INIT (oWndK:Move(0,0), oWndK:SetSize( oDlg:nWidth, oDlg:nHeight ) ) ;  
               ON RESIZE (oWndK:SetSize( oDlg:nWidth, oDlg:nHeight ) ) ;
               VALID ( lSalir)
 


Seria de que prueben....

Salu2
User avatar
Willi Quintana
 
Posts: 1010
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: Evitar parpadeo al abrir varias ventanas child ( how to )

Postby Raymundo Islas M. » Wed Sep 29, 2010 1:20 pm

Willi,

Muchas gracias por el tip.


Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 43 guests