Hola SDO:
Aqui te dejo como se hace:
En la declaración del xBrowse:
oCol := oGrid:AddCol()
oCol:nWidth := 45
oCol:nEditType := TYPE_IMAGE
oCol:nDataBmpAlign := AL_CENTER
oCol:lBmpStretch := .T.
oCol:lBmpTransparent := .T.
oCol:bStrImage := {|| Aves->Foto }
oCol := oGrid:AddCol()
oCol:nDataStrAlign := 3
oCol:nHeadStrAlign := 3
oCol:nWidth := 205
oCol:cHeader := aTitles[1]
oGrid:aCols[2]:bPaintText := { |oCol, hDC, cText,;
aCoord, aColors, lHighlight | DrawText( oCol ,;
hDC ,;
Eval(bDatos[1]) +;
CRLF+aTitles[2] +;
Eval( bDatos[2]),;
aCoord ,;
lHighlight ,;
oFontA ,;
oFontB ,;
CLR_BLACK ,;
CLR_GRAY )}
Y la función que pinta:
/*-----------------------------------------------------------------------------------------------------*/
STATIC Function DrawText( oCol, hDC, cText, aCoord, lHighlight, oBold, oItalic, nClrText1, nClrText2 )
/*-----------------------------------------------------------------------------------------------------*/
LOCAL cLine, nFontHt, nAt, nOld
LOCAL nTop := aCoord[ 1 ]
LOCAL nLeft := aCoord[ 2 ]
LOCAL nBottom := aCoord[ 3 ]
LOCAL nRight := aCoord[ 4 ]
LOCAL nRow := nTop
LOCAL nOldMode := SetBkMode( hDC, 1 )
nAt := AT( CRLF, cText )
IF nAt > 0
cLine := Left( cText, nAt - 1 )
oBold:Activate( hDC )
nFontHt := GetTextHeight( oCol:oBrw:hWnd, hDC )
nOld := SetTextColor( hDC, nClrText1 )
DrawTextEx( hDC, cLine, { nRow, nLeft, nRow + nFontHt + 4, nRight }, )
SetTextColor( hDC, nOld )
oBold:DeActivate( hDC )
nRow += nFontHt + 4
cLine := SubStr( cText, nAt + 2 )
ELSE
cLine := cText
nLeft += 5
END
oItalic:Activate( hDC )
nOld := SetTextColor( hDC, nClrText2 )
DrawTextEx( hDC, cLine, { nRow, nLeft, nBottom, nRight }, )
IF nOld != NIL
SetTextColor( hDC, nOld )
END
oItalic:DeActivate( hDC )
SetBkMode( hDC, nOldMode )
Return NIL
El resultado es algo así:
Espero que te sirva.
Un saludo
JLL