Page 1 of 1

Por qué no se pintan bien los bitmaps ?

Posted: Thu Aug 14, 2014 4:38 pm
by Antonio Linares
He estado como tres dias intentando encontrar el por que los botones de la barra de botones no se pintan transparentes.

Debe ser algo simple pero no lo pillo :-)

Os agradezco vuestra ayuda en esto!

Cristobal, Daniel, ayuda! :-)

Re: Por qué no se pintan bien los bitmaps ?

Posted: Thu Aug 14, 2014 5:11 pm
by cnavarro
Antonio, quitale la claúsula 2010 al oBar y pruébalo
Disculpa, funciona porque lo he probado con la version 14.02
Estoy mirandolo desde hace ya unos dias
Image

Version 14.04 y 14.06
Image

Re: Por qué no se pintan bien los bitmaps ?

Posted: Thu Aug 14, 2014 5:52 pm
by Antonio Linares
Cristobal,

Puedes probarlo con la versión 14.07 ? gracias :-)

Re: Por qué no se pintan bien los bitmaps ?

Posted: Thu Aug 14, 2014 6:07 pm
by cnavarro
Sale igual que en la 14.04, y 14.06

Re: Por qué no se pintan bien los bitmaps ?

Posted: Thu Aug 14, 2014 6:09 pm
by mastintin
la culpa la tienen la funbction getpixel que se encuentra en ertools.prg ....si comentas la función ya funciona . Ahora falta saber porque se puso y si quitarla produce otros efectos no deseados . se podría cambiar de nombre y buscar las llamadas en el programa a ver que pasa .

*-- FUNCTION -----------------------------------------------------------------
* Name........: GetPixel
* Beschreibung:
* Argumente...: None
* Rückgabewert: .T.
* Author......: Timm Sodtalbers
*-----------------------------------------------------------------------------
/*
FUNCTION GetPixel( nValue )

IF Upper( ValType( nMeasure ) ) = "L"
nMeasure := 1
ENDIF

IF nMeasure = 1
//mm
nValue := nValue * 3
ELSEIF nMeasure = 2
//Inch
nValue := nValue * 100
ENDIF

RETURN ( nValue )

Re: Por qué no se pintan bien los bitmaps ?

Posted: Thu Aug 14, 2014 6:19 pm
by mastintin
Renombradas todas las llamadas ( son muchas ) y funcionando sin problemas aparentes ... :D

Re: Por qué no se pintan bien los bitmaps ?

Posted: Thu Aug 14, 2014 6:23 pm
by cnavarro
Esas son las que he encontrado
Searching for 'GetPixel'...
C:\Git\easyreport_n1\source\setmask.c(24): MaskRegion( hdc, &rct, GetPixel( hdc, 0, 0 ),
C:\Git\easyreport_n1\source\setmask.c(68): MaskRegion( hdc, &rct, GetPixel( hdc, 0, 0 ), lMask );

// Estas dos anteriores no creo que haya que cambiarlas ( Manuel, las has cambiado?)

C:\Git\easyreport_n1\source\ereport.prg(552): nXMove := GetPixel( oGenVar:nGridWidth )
C:\Git\easyreport_n1\source\ereport.prg(553): nYMove := GetPixel( oGenVar:nGridHeight )
C:\Git\easyreport_n1\source\ereport.prg(1293): nWidth := GetPixel( oGenVar:aAreaSizes[nWnd,1] )
C:\Git\easyreport_n1\source\ereport.prg(1294): nHeight := GetPixel( oGenVar:aAreaSizes[nWnd,2] )
C:\Git\easyreport_n1\source\ereport.prg(1432): ELSEIF nRow >= GetPixel( oGenVar:aAreaSizes[nArea,2] ) + nRulerTop
C:\Git\easyreport_n1\source\ereport.prg(1433): nRowPos := GetPixel( oGenVar:aAreaSizes[nArea,2] ) + nRulerTop
C:\Git\easyreport_n1\source\ereport.prg(1438): ELSEIF nCol >= GetPixel( oGenVar:aAreaSizes[nArea,1] ) + nRuler
C:\Git\easyreport_n1\source\ereport.prg(1439): nColPos := GetPixel( oGenVar:aAreaSizes[nArea,1] ) + nRuler
C:\Git\easyreport_n1\source\ereport.prg(1443): IIF( lShow, GetPixel( oGenVar:aAreaSizes[nArea,1] ) + nRuler, nRuler ), 1, .T. )
C:\Git\easyreport_n1\source\ereport.prg(1447): IIF( lShow, GetPixel( oGenVar:aAreaSizes[y,2] ) + nRuler, nRuler ), .T. ) ), ) } )
C:\Git\easyreport_n1\source\ereport.prg(1451): // IIF( lShow, GetPixel( oGenVar:aAreaSizes[y,2] ) + nRuler, nRuler ), .T. ), ;
C:\Git\easyreport_n1\source\ereport.prg(1486): LOCAL nWidth := GetPixel( oGenVar:aAreaSizes[nArea,1] )
C:\Git\easyreport_n1\source\ereport.prg(1487): LOCAL nHeight := GetPixel( oGenVar:aAreaSizes[nArea,2] )
C:\Git\easyreport_n1\source\ereport.prg(1489): SetGridSize( GetPixel( oGenVar:nGridWidth ), GetPixel( oGenVar:nGridHeight ) )
C:\Git\easyreport_n1\source\ereport.prg(1498): GetPixel( oGenVar:nGridWidth ), GetPixel( oGenVar:nGridHeight ), ;
C:\Git\easyreport_n1\source\ereport.prg(2621): SetGridSize( GetPixel( nGridWidth ), GetPixel( nGridHeight ) )
C:\Git\easyreport_n1\source\ereport.prg(2622): nXMove := GetPixel( nGridWidth )
C:\Git\easyreport_n1\source\ereport.prg(2623): nYMove := GetPixel( nGridHeight )
C:\Git\easyreport_n1\source\ereport.prg(3079): IIF( oGenVar:lFixedAreaWidth, 1200, GetPixel( nWidth ) + nRuler + nAreaZugabe2 ), ;
C:\Git\easyreport_n1\source\ereport.prg(3080): IIF( oGenVar:aAreaHide[nArea], nRulerTop, GetPixel( nHeight ) + nAreaZugabe ), .T. )
C:\Git\easyreport_n1\source\ereport.prg(3084): aWnd:Move( aWnd:nTop + GetPixel( nHeight - nOldHeight ), ;
C:\Git\easyreport_n1\source\ereport.prg(3089): nTotalHeight += GetPixel( nHeight - nOldHeight )
C:\Git\easyreport_n1\source\ereport.prg(3112): nDifferenz := ( GetPixel( nAreaHeight ) + nAreaZugabe - 18 ) * ;
C:\Git\easyreport_n1\source\ereport.prg(3116): IIF( oGenVar:lFixedAreaWidth, 1200, GetPixel( nWidth ) + nRuler + nAreaZugabe2 ), ;
C:\Git\easyreport_n1\source\ereport.prg(3117): IIF( oGenVar:aAreaHide[nAktArea], 18, GetPixel( nAreaHeight ) + nAreaZugabe ), .T. )
C:\Git\easyreport_n1\source\eritems.prg(428): LOCAL nPixValue := GetPixel( nValue )
C:\Git\easyreport_n1\source\eritems.prg(834): TSay():New( nRulerTop + GetPixel( oItem:nTop ), nRuler + GetPixel( oItem:nLeft ), ;
C:\Git\easyreport_n1\source\eritems.prg(838): GetPixel( oItem:nWidth ), GetPixel( oItem:nHeight ), ;
C:\Git\easyreport_n1\source\eritems.prg(1070): aItems[oVar:nArea,oVar:i] := TImage():New( nRulerTop + GetPixel( oItem:nTop ), ;
C:\Git\easyreport_n1\source\eritems.prg(1071): nRuler + GetPixel( oItem:nLeft ), GetPixel( oItem:nWidth ), GetPixel( oItem:nHeight ),,, ;
C:\Git\easyreport_n1\source\eritems.prg(1272): aItems[oVar:nArea,oVar:i] := TBitmap():New( nRulerTop + GetPixel( oItem:nTop ), ;
C:\Git\easyreport_n1\source\eritems.prg(1273): nRuler + GetPixel( oItem:nLeft ), GetPixel( oItem:nWidth ), GetPixel( oItem:nHeight ), ;
C:\Git\easyreport_n1\source\eritems.prg(1279): GetPixel( oItem:nWidth ), GetPixel( oItem:nHeight ), ;
C:\Git\easyreport_n1\source\eritems.prg(1282): GetPixel( oItem:nRndWidth ), GetPixel( oItem:nRndHeight ) ) }
C:\Git\easyreport_n1\source\eritems.prg(1475): aItems[oVar:nArea,oVar:i] := TBitmap():New( nRulerTop + GetPixel( oItem:nTop ), ;
C:\Git\easyreport_n1\source\eritems.prg(1476): nRuler + GetPixel( oItem:nLeft ), GetPixel( oItem:nWidth ), GetPixel( oItem:nHeight ), ;
C:\Git\easyreport_n1\source\eritems.prg(1482): GetPixel( oItem:nWidth ), GetPixel( oItem:nHeight ), ;
C:\Git\easyreport_n1\source\eritems.prg(1484): oItem:nOrient, oItem:lTrans, GetPixel( oItem:nPinWidth ) ) }
C:\Git\easyreport_n1\source\eritems.prg(1544): GetPixel( nWidth ), GetPixel( nHeight ), ;
C:\Git\easyreport_n1\source\eritems.prg(1546): nStyle, nPenWidth, GetPixel( nRndWidth ), GetPixel( nRndHeight ) ) }
C:\Git\easyreport_n1\source\eritems.prg(1554): GetPixel( nWidth ), GetPixel( nHeight ), ;
C:\Git\easyreport_n1\source\eritems.prg(1558): GetPixel( oItem:nPinWidth ) ) }
C:\Git\easyreport_n1\source\eritems.prg(1581): aItems[nArea,i]:Move( nRulerTop + GetPixel( VAL( GetField( cItemDef, 7 ) ) ), ;
C:\Git\easyreport_n1\source\eritems.prg(1582): nRuler + GetPixel( VAL( GetField( cItemDef, 8 ) ) ), ;
C:\Git\easyreport_n1\source\eritems.prg(1583): GetPixel( VAL( GetField( cItemDef, 9 ) ) ), ;
C:\Git\easyreport_n1\source\eritems.prg(1584): GetPixel( VAL( GetField( cItemDef, 10 ) ) ), .T. )
C:\Git\easyreport_n1\source\eritems.prg(1589): aItemPixelPos := { GetPixel( VAL( GetField( cItemDef, 7 ) ) ), ;
C:\Git\easyreport_n1\source\eritems.prg(1590): GetPixel( VAL( GetField( cItemDef, 8 ) ) ), ;
C:\Git\easyreport_n1\source\eritems.prg(1591): GetPixel( VAL( GetField( cItemDef, 9 ) ) ), ;
C:\Git\easyreport_n1\source\eritems.prg(1592): GetPixel( VAL( GetField( cItemDef, 10 ) ) ) }
C:\Git\easyreport_n1\source\eritems.prg(1919): aItemPixelPos := { GetPixel( VAL( aItemPosition[1] ) ), ;
C:\Git\easyreport_n1\source\eritems.prg(1920): GetPixel( VAL( aItemPosition[2] ) ), ;
C:\Git\easyreport_n1\source\eritems.prg(1921): GetPixel( VAL( aItemPosition[3] ) ), ;
C:\Git\easyreport_n1\source\eritems.prg(1922): GetPixel( VAL( aItemPosition[4] ) ) }
C:\Git\easyreport_n1\source\eritems.prg(1967): nTop := nRulerTop + GetPixel( VAL( GetField( cItemDef, 7 ) ) )
C:\Git\easyreport_n1\source\eritems.prg(1968): nLeft := nRuler + GetPixel( VAL( GetField( cItemDef, 8 ) ) )
C:\Git\easyreport_n1\source\eritems.prg(1969): nWidth := GetPixel( VAL( GetField( cItemDef, 9 ) ) )
C:\Git\easyreport_n1\source\eritems.prg(1970): nHeight := GetPixel( VAL( GetField( cItemDef, 10 ) ) )
C:\Git\easyreport_n1\source\eritems.prg(2042): nRndWidth := GetPixel( VAL( GetField( cItemDef, 15 ) ) )
C:\Git\easyreport_n1\source\eritems.prg(2043): nRndHeight := GetPixel( VAL( GetField( cItemDef, 16 ) ) )
C:\Git\easyreport_n1\source\eritems.prg(2060): nPinWidth := GetPixel( VAL( GetField( cItemDef, 16 ) ) )
C:\Git\easyreport_n1\source\ertools.prg(1676):* Name........: GetPixel
C:\Git\easyreport_n1\source\ertools.prg(1683):FUNCTION GetPixel( nValue )
65 occurrences have been found.


¿Cómo has llamado a la funcion?

Re: Por qué no se pintan bien los bitmaps ?

Posted: Thu Aug 14, 2014 6:35 pm
by mastintin
cnavarro wrote:Esas son las que he encontrado
Searching for 'GetPixel'...
C:\Git\easyreport_n1\source\setmask.c(24): MaskRegion( hdc, &rct, GetPixel( hdc, 0, 0 ),
C:\Git\easyreport_n1\source\setmask.c(68): MaskRegion( hdc, &rct, GetPixel( hdc, 0, 0 ), lMask );
¿Cómo has llamado a la funcion?
No esas 2 no las tienes que cambiar pues llaman a la api de windows ... yo la he renombrado a rd_getpixel() pero creo que sería mas correcto llamarla er_getpixel()

Re: Por qué no se pintan bien los bitmaps ?

Posted: Thu Aug 14, 2014 6:39 pm
by cnavarro
Asi la he llamado yo ErGetPixel, pero quizás sea más propio como tu dices
Probado y funcionando otra vez perfectamente
La he llamado Er_GetPixel(...)

https://navarro_cristobal@bitbucket.org ... ort_n1.git

Re: Por qué no se pintan bien los bitmaps ?

Posted: Thu Aug 14, 2014 10:05 pm
by Antonio Linares
Manuel, Cristobal,

Sois estupendos :-)

Muchas gracias!!!