我使用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;
最佳答案
处理计数器的更有效方法是将数组包装在具有相应setter和getter的类中,并且仅通过setter和getter访问数组。
关于delphi - 如何计算DrawGrid中的彩色单元格?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18585874/