1、单元格设置
procedure TForm1.strgrd1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
s: String;
R: TRect;
begin
//StringGrid表格的居中显示
with TStringGrid(Sender) do
begin
if (ARow > 0) And (Trim(Cells[0, ARow]) <> '') then //隔行显示不同的背景色
begin
case ARow Mod 2 of
0:
Canvas.Brush.Color:=$00E9FAFC;
1:
Canvas.Brush.Color:=$EEFFEE;
end;
end;
if gdSelected in State then//选中行的设置
begin
if Trim(Cells[0, ARow]) <> '' then
Canvas.Brush.Color:=RGB(49, 106, 197)//有文字背景色改变
else
Canvas.Brush.Color:=Brush.Color;//无文字背景色不改变
//Canvas.Font.Color:=clRed;//字颜色的改变:修改为红色
end;
Canvas.FillRect(Rect);
S:=Cells[ACol,ARow];
R:=Rect;
DrawText(Canvas.Handle, PChar(s), Length(s), R, DT_CENTER or DT_SINGLELINE or DT_VCENTER); //文字居中
end;
end;