Page 1 of 1

Acerca de Dialogos en FWH 13.06 (Solucionado)

Posted: Fri Sep 27, 2013 11:11 pm
by Blessed
Hola Amigos del foro

Cuando abre un dialogo en mi aplicacion, muestra un flasheo desde la esquina superior izquierda de la pantalla.
No lo tenia en las versiones FWH anteriores, no he hecho cambios en mi codigo.
De hecho no le preste atencion hasta que un cliente me lo reporta como una falla en el programa que le entrego :D
La pregunta alguien sabe como desactivarlo, y el pintado del dialogo sea de una solo vez?

Saludos

Re: Acerca de Dialogos en FWH 13.06

Posted: Fri Sep 27, 2013 11:52 pm
by Ariel
Hola,
yo tambien lo he notado con mdichilds al maximizarlas de entrada.
salu2, Ariel.

Re: Acerca de Dialogos en FWH 13.06

Posted: Sat Sep 28, 2013 2:22 pm
by Antonio Linares
_,

Es un dialogo modal ?

Usa un brush de fondo ?

gracias

Re: Acerca de Dialogos en FWH 13.06

Posted: Sat Sep 28, 2013 2:24 pm
by Antonio Linares
Ariel,

En esas Mdichild usas diálogos no modales, si ?

Usas un brush de fondo en ellos ?

Re: Acerca de Dialogos en FWH 13.06

Posted: Sat Sep 28, 2013 4:50 pm
by Ariel
Antonio,
si son NOMODAL y NO uso fondos ni brush, ni gradients, ni nada, simplemente el DIALOG

salu2, Ariel.

Re: Acerca de Dialogos en FWH 13.06

Posted: Sat Sep 28, 2013 6:03 pm
by Antonio Linares
Ariel,

En la Clase TMdiChild _ estas líneas. Puedes cambiarlas asi y ver si varia el efecto ? gracias

Code: Select all

   ::hWnd = ::oWndClient:SendMsg( WM_MDICREATE, 0,;
        cMdiStruct( "TMDICHILD", cTitle,;
                    ::nTop, ::nLeft, ::nBottom, ::nRight,;
                    ::nStyle ) )

   /*
   ::hWnd = CreateMdiWindow( "TMDICHILD", cTitle, ::nStyle, ::nTop, ::nLeft, ::nBottom, ::nRight,;
                             ::oWndClient:hWnd, GetInstance() )                 
   */

Re: Acerca de Dialogos en FWH 13.06

Posted: Sat Sep 28, 2013 6:48 pm
by Ariel
Antonio,
ahi funciona correctamente :wink: , al menos para mi :D
Gracias.
Salu2, Ariel.

Re: Acerca de Dialogos en FWH 13.06

Posted: Sun Sep 29, 2013 1:17 pm
by surGom
Yo uso una versión anterior 13.02 y me hace lo mismo la clase tmdichild está como dice Antonio que hay que modificar

Code: Select all

  ::hWnd = ::oWndClient:SendMsg( WM_MDICREATE, 0,;   Por el flash a la apertura del diálogo
        cMdiStruct( "TMDICHILD", cTitle,;
                    ::nTop, ::nLeft, ::nBottom, ::nRight,;
                    ::nStyle ) ) 
   ::Link()
 
Gracias

Re: Acerca de Dialogos en FWH 13.06

Posted: Wed Oct 09, 2013 11:40 pm
by Blessed
Antonio

Estoy usando la 13.06 y los dialogos los uso NOMODAL, y tampoco tengo brush.
Y como dice Luis, la clase esta como tu lo indicas que hay que modificar.
La clase no tiene estas lineas que pides poner como comentario

Code: Select all

   ::hWnd = CreateMdiWindow( "TMDICHILD", cTitle, ::nStyle, ::nTop, ::nLeft, ::nBottom, ::nRight,;
                             ::oWndClient:hWnd, GetInstance() )
 
No se que version tiene Ariel

Re: Acerca de Dialogos en FWH 13.06

Posted: Thu Oct 10, 2013 1:56 pm
by Blessed
Antonio

He comparado la Clase TMdiChild de la FWH 10.10 con la 13.06 y las lineas que mencionas son las mismas.
El Flasheo no me aparece en Windows XP, Si en Win 8

Saludos

Re: Acerca de Dialogos en FWH 13.06

Posted: Fri Oct 11, 2013 2:50 pm
by Antonio Linares
Podeis probar el ejemplo FWH/samples/testmdi4.prg ?

Aqui funciona bien y no muestra parpadeo. A ver si podemos conseguir un ejemplo en donde falle, gracias

Re: Acerca de Dialogos en FWH 13.06

Posted: Wed Oct 23, 2013 5:57 pm
by Blessed
Antonio
Probe con Testmdi4.prg y no hay flasheo.
En WIN 8 tengo el flasheo en negro.
En Win XP el flsheo es mucho mas rapido en blanco.
Y el flasheo desaparece al quitar CENTERED.

Code: Select all

       ACTIVATE DIALOG oWndChilds[1] CENTERED NOMODAL
 

Re: Acerca de Dialogos en FWH 13.06

Posted: Wed Oct 23, 2013 8:52 pm
by Antonio Linares
_,

Si la caja de diálogo la creas desde recursos, prueba a quitarle el estilo WS_VISIBLE

Re: Acerca de Dialogos en FWH 13.06 (Solucionado)

Posted: Wed Oct 23, 2013 10:52 pm
by Blessed
Antonio

Funciona bien, Gracias.
He eliminado de los archivos RC el WS_VISIBLE, de forma manual, estoy usando como editor de recursos el PELLES.
Como lo hago desde PELLES?

En la ventana "Propiedades", en la seccion "Window Styles", la propiedad "Visible" debe estar "No"

Saludos