This is the class:
Code: Select all
***************************************
CLASS XbpBrowseForeground FROM DC_XbpBrowse
***************************************
PROTECTED:
EXPORTED:
INLINE METHOD destroy
*********************
::DC_XbpBrowse:destroy()
RETURN self
INLINE METHOD init( oParent, oOwner, aPos, aSize, aPP, lVisible, oGetList )
*****************************************************************
::DC_XbpBrowse:init( oParent, oOwner, aPos, aSize, aPP, lVisible, oGetList )
::drawMode:= XBP_DRAW_OWNER
RETURN self
INLINE METHOD create( oParent, oOwner, aPos, aSize, aPP, lVisible )
*******************************************************************
::DC_XbpBrowse:create( oParent, oOwner, aPos, aSize, aPP, lVisible )
RETURN self
INLINE METHOD customDrawCell( oPS, aInfo )
******************************************
LOCAL xData, nPos, aRect, nFgCol, bColBlock
xData:= aInfo[ XBP_DRAWINFO_AREA ]:getCell( aInfo[ XBP_DRAWINFO_ITEM ] ) // get cell contens
aInfo[ XBP_DRAWINFO_AREA ]:getCellColor( aInfo[ XBP_DRAWINFO_ITEM ],@nFgCol ) // get foreground color
IF xData <> nil .and. nFgCol # nil
oPS:setColor( nFgCol )
GraCaptionStr( oPS, aInfo[ XBP_DRAWINFO_RECT ], { aInfo[ XBP_DRAWINFO_RECT, 3 ], aInfo[ XBP_DRAWINFO_RECT, 4 ] }, xData )
RETURN .F.
ENDIF
RETURN .T.
ENDCLASS
1. Use "Subclass" with DCBROWSE:
Code: Select all
@ 0,0 DCBROWSE .... SUBCLASS 'XbpBrowseForeground()'
Code: Select all
DCBROWSECOL .... EVAL {|o|o:DataArea:DrawMode := XBP_DRAW_OWNER} COLOR bColorBlock