FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Brush en dialog con page
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Brush en dialog con page
Posted: Fri Oct 26, 2007 01:43 PM
Una preguntilla....

Tengo una dialog dentro de una función que se define así:
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:
    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í



Gracias desde ya por la ayuda que puedan darme
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
Brush en dialog con page
Posted: Fri Oct 26, 2007 02:35 PM

Hola Jose

Prueba asi :

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

Saludos

FWH 10.6 + xHarbour + Borland 582
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Brush en dialog con page
Posted: Fri Oct 26, 2007 04:29 PM
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í:

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 :-)
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Brush en dialog con page
Posted: Fri Oct 26, 2007 05:42 PM
    LOCAL oBrush

    DEFINE BRUSH oBrush FILE "MIBITMAP.BMP"

    DEFINE DIALOG oDlg RESOURCE "DLG_PAGE" TITLE cTitulo ;
           BRUSH oBrush TRANSPARENT
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
Brush en dialog con page
Posted: Fri Oct 26, 2007 08:26 PM
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



Despues



A ver que pudiera decir Antonio al respecto.


Saludos
FWH 10.6 + xHarbour + Borland 582
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Brush en dialog con page
Posted: Fri Oct 26, 2007 11:44 PM

Con la 7.01 es lo mismo que es la que yo tengo.

Antonio,

Alguna solución?

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Brush en dialog con page
Posted: Sat Oct 27, 2007 09:39 AM

Raymundo,

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

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
Brush en dialog con page
Posted: Sat Oct 27, 2007 01:21 PM

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

FWH 10.6 + xHarbour + Borland 582
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Brush en dialog con page
Posted: Sat Oct 27, 2007 01:43 PM
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,
   METHOD EndPaint() INLINE ::nPaintCount--,;
                     EndPaint( ::hWnd, ::cPS ), ::cPS := nil, ::hDC := nil // , 0
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
Brush en dialog con page
Posted: Sat Oct 27, 2007 02:16 PM

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

FWH 10.6 + xHarbour + Borland 582
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Brush en dialog con page
Posted: Sat Oct 27, 2007 02:21 PM
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...
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"

Continue the discussion