Page 1 of 1

Brush en dialog con page

Posted: Fri Oct 26, 2007 1:43 pm
by jose_murugosa
Una preguntilla....

Tengo una dialog dentro de una función que se define así:

Code: Select all

DEFINE DIALOG oDlg RESOURCE "DLG_PAGE" TITLE cTitulo
		REDEFINE SAY oSay[1] PROMPT cId    ID 200 OF oDlg
    REDEFINE SAY oSay[2] PROMPT cTexto ID 201 OF oDlg
    REDEFINE PAGES oPage ID 102 OF oDlg DIALOGS cDlg_Hija
La función siempre me ha funcionado perfecto, pero cuando intento hacer que la dialog aparezca transparente si le paso un brush a la función y que tome ese brush en la dialog y en la page, haciendo esto:

Code: Select all

    IF oBrush != NIL  
    	oDlg:lTransparent := .t.
    	oPage:aDialogs[1]:lTransparent := .t.
    	oDlg:oBrush := oBrush
    	oPage:aDialogs[1]:oBrush := oBrush
    	oPage:aDialogs[1]:Refresh()
    ENDIF
Me pone transparente la dialog pero no la dialog en el page, como puedo solucionarlo para que pueda verse todo con el mismo brush?

se ve así

Image

Gracias desde ya por la ayuda que puedan darme

Posted: Fri Oct 26, 2007 2:35 pm
by Raymundo Islas M.
Hola Jose

Prueba asi :

oPage:aDialogs[1]:SetBruhs( oBrush )
oPage:aDialogs[1]:lTransparent := .t.

Saludos

Posted: Fri Oct 26, 2007 4:29 pm
by jose_murugosa
Raymundo Islas M. wrote:Hola Jose

Prueba asi :

oPage:aDialogs[1]:SetBruhs( oBrush )
oPage:aDialogs[1]:lTransparent := .t.

Saludos
Gracias Ray por tu respuesta, lo probé así:

Code: Select all

IF oBrush != NIL

    	oDlg:lTransparent := .t.
    	oPage:lTransparent := .t.
    	oPage:aDialogs[1]:lTransparent := .t. 

    	oDlg:SetBrush(oBrush) 
    	oPage:SetBrush(oBrush) 
    	oPage:aDialogs[1]:SetBrush( oBrush )

    	oDlg:Refresh()
    	oPage:Refresh()
    	oPage:aDialogs[1]:Refresh()
    ENDIF
Pero con el mismo resultado

recibo cualquier sugerencia del foro, porfis :cry:

Posted: Fri Oct 26, 2007 5:42 pm
by karinha

Code: Select all

    LOCAL oBrush

    DEFINE BRUSH oBrush FILE "MIBITMAP.BMP"

    DEFINE DIALOG oDlg RESOURCE "DLG_PAGE" TITLE cTitulo ;
           BRUSH oBrush TRANSPARENT

Posted: Fri Oct 26, 2007 8:26 pm
by Raymundo Islas M.
Jose, tienes razon.

Algo esta pasando, el codigo que te mande funciona correctamente en la version anterior que usaba ( 2.7 ), estoy probando el nuevo update ( 7.10) y mis pantallas perdieron la transparencia en los pages.


Mira :


Antes
Image


Despues
Image


A ver que pudiera decir Antonio al respecto.


Saludos

Posted: Fri Oct 26, 2007 11:44 pm
by jose_murugosa
Con la 7.01 es lo mismo que es la que yo tengo.

Antonio,

Alguna solución?

Posted: Sat Oct 27, 2007 9:39 am
by Antonio Linares
Raymundo,

Puedes por favor comparar el código fuente de TPages en la 2.7 y en la 7.10 ? gracias

Posted: Sat Oct 27, 2007 1:21 pm
by Raymundo Islas M.
Master Antonio :

Existe una Linea con diferencias en el Metodo Redefine :


En la version 2.7 esta asi :

DEFAULT nOption := 1, oFont := ::GetFont()


y en la 7.10 :

DEFAULT nOption := 1, oWnd := GetWndDefault(), oFont := ::GetFont()


Espero te sirva.

Saludos

Posted: Sat Oct 27, 2007 1:43 pm
by Antonio Linares
Raymundo,

Gracias. Es lo que suponía: no hay cambios en TPages.

Puedes probar a quitar el cero que añadimos en window.prg en el método EndPaint() y probar tu aplicación ? gracias,

Code: Select all

   METHOD EndPaint() INLINE ::nPaintCount--,;
                     EndPaint( ::hWnd, ::cPS ), ::cPS := nil, ::hDC := nil // , 0 

Posted: Sat Oct 27, 2007 2:16 pm
by Raymundo Islas M.
Antonio

Sigue igual, pero ahora perdi el look 2007 en el menu, la barra de mensajes sigue bien.

Ahora, me estoy dando cuenta de algo :

Para dar la apariencia XP estoy usando un archivo con el mismo nombre del ejecutable p.e. MiApp.EXE.Manifest si esta "activo" es cuando veo un desastre en las pantallas,si lo renombro ya no se ven los problemas (brush de fondo y transparencias ), pero pierdo lo agradable de la apariencia.

Saludos

Posted: Sat Oct 27, 2007 2:21 pm
by jose_murugosa
Raymundo Islas M. wrote:Antonio

Sigue igual, pero ahora perdi el look 2007 en el menu, la barra de mensajes sigue bien.

Ahora, me estoy dando cuenta de algo :

Para dar la apariencia XP estoy usando un archivo con el mismo nombre del ejecutable p.e. MiApp.EXE.Manifest si esta "activo" es cuando veo un desastre en las pantallas,si lo renombro ya no se ven los problemas (brush de fondo y transparencias ), pero pierdo lo agradable de la apariencia.

Saludos
Antonio,

Utilizo la versión 7.01, que creo fué la primera con transparencia y allí en la clase twindow no está el cero referido, y presenta la falla.

Incluso hay un topico mío por enero 2007 referido a ese problema con las pages en el foro, que no fué respondido.

Pienso que los tiros deben venir por otro lado...