Estimados, tengo el siguiente caso:
en un browse, tengo una columna que muestra unos checkbox y otra columna que muestra unas imagenes, el caso es que si pongo la data
oBrw:lGDIP := .t., las imagenes se muestra muy bien, trasparencia y alpha chanel dado que usa gdip para dibujar la image, pero los chekbox se muestran un poco distorcionados, si oBrw:lGDIP := .f. es inverso, los checkbox muy bien, pero la imagen distorcionada, por ello intente poder asignar el lGDIP a cada columna para poder usarlo segun convenga, para esto agregue la data lGDIP a la clase TXBrwColumn con valor inicial a Nil, y
modifique el metodo PaintCellImage, pero segun veo ese metodo no es llamado, bajo nunca.


no he podido hacerlo, todoa ayuda es bienvenida.
en un browse, tengo una columna que muestra unos checkbox y otra columna que muestra unas imagenes, el caso es que si pongo la data
oBrw:lGDIP := .t., las imagenes se muestra muy bien, trasparencia y alpha chanel dado que usa gdip para dibujar la image, pero los chekbox se muestran un poco distorcionados, si oBrw:lGDIP := .f. es inverso, los checkbox muy bien, pero la imagen distorcionada, por ello intente poder asignar el lGDIP a cada columna para poder usarlo segun convenga, para esto agregue la data lGDIP a la clase TXBrwColumn con valor inicial a Nil, y
modifique el metodo PaintCellImage, pero segun veo ese metodo no es llamado, bajo nunca.


WITH OBJECT oBrw
:lGDIP := FALSE
...
:aCols[ 07 ]:SetCheck( { "BMS_CHECKON2", "BMS_CHECKOFF2" } )
:aCols[ 09 ]:nHeadStrAlign := AL_CENTER
:aCols[ 09 ]:AddResource( "PNG_STAR1" )
:aCols[ 09 ]:AddResource( "PNG_STAR2" )
:aCols[ 09 ]:AddResource( "PNG_STAR3" )
:aCols[ 09 ]:bStrData := ""
:aCols[ 09 ]:bBmpData := {|uVal,lSel,oCol| Clie_StarCount( uVal ) }
:aCols[ 09 ]:lGDIP := TRUECLASS TXBrwColumn
...
DATA lGDIP
...
METHOD PaintCellImage( cImageData, oRect ) CLASS TXBrwColumn
local aBmpPal, aRect, ResizeMode, aImgRect
local lGDIP
aRect := oRect:aRect
if ::aImgRect == nil
ResizeMode := ::lBmpStretch
else
aImgRect := XEval( ::aImgRect, Self )
if ValType( aImgRect ) $ 'CN'
ResizeMode := aImgRect
elseif ValType( aImgRect ) == 'A'
if Len( aImgRect ) > 4
ResizeMode := aImgRect[ 5 ]
else
ASize( aImgRect, 4 )
endif
aRect := oRect:Modify( aImgRect, .t. ):aRect
endif
ENDIF
lGDIP := iif( ::lGDIP, ::oBrw:lGDIP, ::lGDIP )
//aBmpPal := ::oBrw:ReadImage( cImageData,, ::oBrw:lGDIP )
aBmpPal := ::oBrw:ReadImage( cImageData,, lGDIP )
if !Empty( aBmpPal ) .and. !Empty( aBmpPal[ 1 ] )
::oBrw:DrawImage( aBmpPal, aRect, ;
::lBmpTransparent, ResizeMode, ::nAlphaLevel(), .f., ::cAlign( ::nDataBmpAlign ) )
PalBmpFree( aBmpPal[ 1 ], aBmpPal[ 2 ] )
endif
aBmpPal := nil
return nilSalu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
Carlos Vargas
Desde Managua, Nicaragua (CA)