Page 1 of 1

TENGO EL SIGUIENTE PROBLEMA COLEGAS

PostPosted: Fri Jul 06, 2007 8:19 pm
by A&C
Defino asI:::

DEFINE BITMAP oBmp FILE cFilePath( hb_argv(0))+"Brush\MiBrush2.bmp"
DEFINE WINDOW oWndHija FROM 0,0 TO 0,0;
TITLE "Mantención de Clientes";
ICON "ico\simbolo.ico";
COLORS nRGB(0,0,0),nRGB(50,128,128);
MDICHILD BORDER NONE;
NOMAXIMIZE;
OF oWnd

DEFINE DIALOG oDlg RESOURCE 1 FONT oFontHijaDos OF oWndHija TRANSPARENT

ACTIVATE DIALOG oDlg NOWAIT ON PAINT(PalBmpDraw( hDC,0,0,oBmp:hBitmap,oBmp:hPalette,oDlg:nWidth,oDlg:nHeight,,));
VALID (oWndHija:end(),.T.);
ON INIT(oBrowse:move(30,265),oGet:move(415,350))

@ 370,20 IMAGE oBtnPNG[1] FILE cFilePath( hb_argv(0))+"Png\Boton1.png";
NOBORDER PIXEL;
OF oDlg
oBtnPNG[1]:ltransparent:=.T.

ACTIVATE WINDOW oWndHija;
ON INIT(oDlg:Move(0,0));
ON RESIZE (oWndHija:SetSize(oDlg:nWidth,oDlg:nHeight));
VALID ( if(aoMenuItem # NIL,( AEval(aoMenuItem,{|n| (n:Enable(),n:Refresh()) })),),;
oFontHijaUno:End(), oFontHijaDos:End(),oFontVmenu,oBmp:End(),.T.)



/////////////////////////////////////////////////////////////////////////////////


el problema es que IMAGE oBtnPNG[1] se muestra con el fondo rosado y no se hace transparente

SI ALGUIEN SABE COMO SOLUCIONARLO

GRACIAS

PostPosted: Fri Jul 06, 2007 8:47 pm
by Antonio Linares
Al usar la claúsula TRANSPARENT en el diálogo debes asignarle un brush.

Revisa el ejemplo samples\BtnTrans.prg

PostPosted: Sat Jul 07, 2007 3:46 pm
by A&C
antonio;; despues de mucho darle vuelta al asunto,, he podido establecer cual es el problema::

te lo comento quizas tenga una solucion...

Si se usa asi funcionan muy bien la transparencia::


#include "FiveWin.ch"

function Main()
local oBru, oDlg, oBtn
DEFINE BRUSH oBru FILENAME "Brush\MiBrush2.bmp"
DEFINE DIALOG oDlg RESOURCE 2 BRUSH oBru TRANSPARENT

@ 70, 80 BTNBMP oBtn FILENAME "Png\boton1.BMP";
SIZE 50, 30 OF oDlg NOBORDER ACTION MsgInfo( "click" )
oBtn:lTransparent = .T.

ACTIVATE DIALOG oDlg NOWAIT

return nil


el problema es que yo uso asi...
primero un definde window MDI como pantalla principal... luego en cada ventana hija asi.. definde window MDICHILD y dentro de ese mdichild incorporo un dialog todo asi mira el codigo::


Function Man_Clientes(oWnd,aoMenuItem)
Local oWndHija
Local oDlg
Local oBrush
Local oBmp
Local oBtn

DEFINE BRUSH oBrush FILENAME "Brush\MiBrush2.bmp"

DEFINE WINDOW oWndHija FROM 0,0 TO 0,0;
TITLE "Mantención de Clientes";
ICON "ico\simbolo.ico";
COLORS nRGB(0,0,0),nRGB(50,128,128);
MDICHILD BORDER NONE;
NOMAXIMIZE;
OF oWnd

DEFINE DIALOG oDlg RESOURCE 1 OF oWndHija BRUSH oBrush TRANSPARENT

@ 70, 80 BTNBMP oBtn FILENAME "Png\boton1.BMP";
SIZE 50, 30 OF oDlg NOBORDER ACTION MsgInfo( "click" )
oBtn:lTransparent = .T.

ACTIVATE DIALOG oDlg NOWAIT VALID (oWndHija:end(),.T.)
ACTIVATE WINDOW oWndHija;
ON INIT(oDlg:Move(0,0))
Return nil

creo segun lo analizado que el problema se genera al inscruptar el DIALOG dentro del window MDICHILD la transparencia no se realiza



TENDRA ALGUNA SOLUCION ESTE INCONVENIENTE


GRACIAS

PostPosted: Mon Jul 09, 2007 12:39 pm
by A&C
..

PostPosted: Mon Jul 09, 2007 1:30 pm
by Antonio Linares
El diálogo se ve con el brush ?

PostPosted: Mon Jul 09, 2007 2:20 pm
by A&C
si antonio el dialogo se ve con el brush de fondo

el problema es que como yo inscrupto el dialogo el un MDICHILS
como te detalle anteriormente ,, por alguna razon el BTNBMP se se hace transparente


QUE SERA ??

GRACIAS

PostPosted: Mon Jul 09, 2007 9:17 pm
by A&C
..

PostPosted: Mon Jul 09, 2007 9:17 pm
by A&C
.....

PostPosted: Tue Jul 10, 2007 12:28 pm
by A&C
.. AUN NADA,,, YA ME HE DADO VUELTAS DE CARNERO CON ESTE TEMITA AMIGOS

PostPosted: Tue Jul 10, 2007 4:08 pm
by Antonio Linares
Tenemos que hacer pruebas

PostPosted: Tue Jul 10, 2007 4:24 pm
by A&C
Ok Antonio..

Eso quiere decir que no esta soportado para MDICHILD y dialog inscruptados de la forma que lo manejo...

y esas pruebas cuento tiempo tomaran amigo...

GRACIAS

PostPosted: Tue Jul 10, 2007 6:07 pm
by Antonio Linares
Debería estar soportado. Lo vamos a revisar cuanto antes