我使用 TDrawGrid 组件来绘制网格。46Y x 70X
如果我选择一个单元格,它将被着色,clGrey
如果我再次选择它,它将再次被着色为白色。我想计算所有clGrey
颜色的细胞。
我的以下代码是我尝试过的,但没有奏效。
procedure TForm2.RasterDrawGridSelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
begin
UniversumsMatrix[ACol, ARow] := not UniversumsMatrix[ACol, ARow];
begin
if RasterDrawGrid.Brush.Color = clGrey then begin
Zellenstand := Zellenstand - 1
end
else
Zellenstand := Zellenstand +1 ;
end;
end;
procedure TForm2.RasterDrawGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if UniversumsMatrix[ACol, ARow] then
RasterDrawGrid.Canvas.Brush.Color := clGray // Grauer der lebendigen Hintergrund
else
RasterDrawGrid.Canvas.Brush.Color := clWhite; // Weißer Hintergrund
RasterDrawGrid.Canvas.FillRect(Rect);
end;