2、不同行不同色情况(例隔行换色)
Procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
Begin
With StringGrid1 Do
Begin
If acol = 0 Then //标题栏退出
exit;
If ARow Mod 2 = 0 Then //偶数栏背景色和字体色
Begin
Canvas.Brush.Color := clwhite;
Canvas.Font.Color := clGreen;
End
Else
Begin
Canvas.Brush.Color := clMoneyGreen; //奇数栏背景色和字体色
Canvas.Font.Color := clRed;
End;
If gdSelected In State Then //选中的单元格背景色和字体色
Begin
Canvas.Brush.Color := clHighlight;
Canvas.Font.Color := clHighlightText;
End;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, Cells[ACol, ARow]);
End;
End;