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; 至于闪烁的话,要定时去刷新某一个单元格就可以达到此目的吧
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;
至于闪烁的话,要定时去刷新某一个单元格就可以达到此目的吧