no começo da rotina colocar
Local bCol1 := {|o,h,x1,y1,x2,y2|
Local oBmp
hwg_Fillrect( h, x1, y1, x2, y2, oBrowse3:brush:handle )
oBmp := IF(oBrowse3:aArray[oBrowse3:nCurrent,7] = '1', HBitmap():AddResource( "goodmark" ), HBitmap():Addresource( "badmark" ) )
hwg_Drawbitmap( h, oBmp:handle,, x1+20, y1+4, oBmp:nWidth, oBmp:nHeight )
RETURN Nil
}
depois no browse montar da seguinte forma
@ 5,357 BROWSE oBrowse3 ARRAY SIZE 1000, 237 ;
STYLE WS_TABSTOP
oBrowse3:oStyleHead := HStyle():New( { 0xffffff, 0xbbbbbb }, 1,, 0.4, 16759929 )
oBrowse3:oFont := HFont():Add( '',0,-15,700,,,)
oBrowse3:aArray := {}
oBrowse3:AddColumn( HColumn():New( "",,"C",6,0,,,0, ) )
oBrowse3:AddColumn( HColumn():New( "RECIBO",hwg_ColumnArBlock(),"N",12,0,.F.,1,2,,,,,,))
oBrowse3:AddColumn( HColumn():New( "ID",hwg_ColumnArBlock(),"N",12,0,.F.,1,2,,,,,,))
oBrowse3:AddColumn( HColumn():New( "CLIENTE/FORNECEDOR/VENDEDOR",hwg_ColumnArBlock(),"C",50,0,.F.,,, ) )
oBrowse3:AddColumn( HColumn():New( "TOTAL",hwg_ColumnArBlock(),'N',16, 2 ,.F.,2,2,'@E 99,999,999,999.99',,,,,,,,,))
oBrowse3:AddColumn( HColumn():New( "HISTORICO",hwg_ColumnArBlock(),"C",80,0,.F.,,, ) )
oBrowse3:aColumns[1]:setPaintCB( PAINT_LINE_ALL, bCol1 )
e na carga do BROWSE por ARRAY montar assim, neste caso estou usando o MARIADB
cQuery1:="SELECT "
cQuery1+="movcaixa.TIPMOV, "
cQuery1+="movcaixa.MOVCAIXA_Id, "
cQuery1+="movcaixa.CLIFOR, "
cQuery1+="movcaixa.NRAZ_SOC, "
cQuery1+="movcaixa.VALOR, "
cQuery1+="movcaixa.HISTOR "
cQuery1+="FROM movcaixa "
cQuery1+="WHERE movcaixa.DATMOV = '" + Hb_DTOC(dDATCAI, "YYYY-MM-DD") + "' AND movcaixa.TURCAI = '" + STRZERO(nTURCAI,1,0) + "'"
oQuery3:= oServer:Execute(cQuery1)
DO WHILE ! oQuery3:Eof()
aAdd( aResult3,{"",;
oQuery3:Fields( "MOVCAIXA_Id" ):Value,;
oQuery3:Fields( "CLIFOR" ):Value,;
oQuery3:Fields( "NRAZ_SOC" ):Value,;
oQuery3:Fields( "VALOR" ):Value,;
oQuery3:Fields( "HISTOR" ):Value,;
oQuery3:Fields( "TIPMOV" ):Value} )
oQuery3:MoveNext()
ENDDO
oBrowse3:aArray := aResult3