Replace SetHiliteColorCell() with the below code.
It is faster and prevents flicker.
Code: Select all
STATIC FUNCTION SetHiliteColorCell( oBrowse )
LOCAL i, j, oColumn, nColorFG, nColorBG
FOR j := 1 TO oBrowse:rowCount
  FOR i := 1 TO oBrowse:colCount
    oColumn := oBrowse:getColumn(i)
    IF oBrowse:rowPos # j
      oColumn:dataArea:getCellColor( j, @nColorFG, @nColorBG)
      IF nColorFG # GRA_CLR_BLACK .OR. nColorBG # GRA_CLR_WHITE
        oColumn:dataArea:setCellColor( j,GRA_CLR_BLACK,GRA_CLR_WHITE, .t. )
      ENDIF
    ELSE
      IF oBrowse:colPos == i
        oColumn:dataArea:setCellHiliteColor( oBrowse:rowPos,GRA_CLR_BLACK,GRA_CLR_CYAN, .t. )
      ELSE
        oColumn:dataArea:setCellColor( oBrowse:rowPos,GRA_CLR_BLACK,GRA_CLR_YELLOW, .t. )
      ENDIF
    ENDIF
  NEXT
NEXT
RETURN nil