Brush color & style in stringGrid

I want to control the cells in a stringGrid in setting both a style
(bsBDiagonal or bsClear) and a color (clRed or clGreen).  The color and
style attributes need to operate independently to allow 1 of 4
possibilities in each cell:
slash, red
slash, green
no slash, red
no slash, green

The color control is working but when I set the brush.style to diagonal
(or any non clear style) the cells go mostly black and the string text
is no longer readable.  Would some kind soul point out the error of my
ways?  There must be some way to control both colors of the style's
pattern.

Alternately, does anyone have a better way to make a control that shows
a series of labels, each with 2 visible binary modes.  One indicates a
recorded state and the other whether it is changeable.  The control can
then change that state if it is allowed (changeable).  I'm open to
suggestions.

Thanks in advance.

My faulty code:
in the DrawCell of my stringGrid

if <criteria1> then
       Canvas.Brush.Color := clRed
else
       Canvas.Brush.Color := clGreen;

if  <criteria2> then
    Canvas.Brush.Style := bsBDiagonal
else
    Canvas.Brush.Style := bsClear;

Canvas.FillRect(rect);
Canvas.TextOut(Rect.left, Rect.Top, Cells[ACol, ARow]);

  jamie_brown.vcf
< 1K Download