还有就是将单元格值相同的进行合并

解决方案 »

  1.   

    if (ARow<>0) And (ACol<>0) then
     begin
       if ARow mod 2 = 0  then
       begin
          TStringGrid(Sender).Canvas.Font.Color:=clBlue;
          //TStringGrid(Sender).Canvas.Brush.Color := clWhite;
       end;
       S := TStringGrid(Sender).Cells[ACol, ARow];
       R := TStringGrid(Sender).CellRect(ACol, ARow);
       TStringGrid(Sender).Canvas.FillRect(R);
       TStringGrid(Sender).Canvas.TextOut(R.Left, R.Top, S);
     end else
     if (ARow=0) Or  (ACol=0) then
     begin
       TStringGrid(Sender).Canvas.Font.Color:=clFuchsia;
       S := TStringGrid(Sender).Cells[ACol, ARow];
       R := TStringGrid(Sender).CellRect(ACol, ARow);
       TStringGrid(Sender).Canvas.FillRect(R);
       TStringGrid(Sender).Canvas.TextOut(R.Left, R.Top, S);
       //StringGrid1.DrawText(TStringGrid(Sender).Canvas.Handle,PChar(s),Length(s),R,DT_CENTER or DT_SINGLELINE or DT_VCENTER);  //文字居中
       //TStringGrid(Sender).Canvas.DrawText(TStringGrid(Sender).Canvas.Handle,PChar(s),Length(s),R,DT_CENTER or DT_SINGLELINE or DT_VCENTER);  //文字居中 end;
    至于闪烁的话,要定时去刷新某一个单元格就可以达到此目的吧