谢谢,$00F0F0F0和$F0F0F0都可以。 但是问题来了:填充后,原本的文字就看不到了,怎么回事?procedure TfrmBOMShow.rsgBOMDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if ((ACol=7)and(ARow>0)) then begin rsgBOM.Canvas.Brush.Color:=$00F0F0F0; rsgBOM.canvas.FillRect(rect); end; end;
procedure TForm1.AdvStringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if (Acol = 1) and (Arow = 1) then begin AdvStringGrid1.Canvas.Brush.Color := $00F0F0F0; AdvStringGrid1.Canvas.Font.Color := clred; AdvStringGrid1.Canvas.TextRect(rect,rect.Left,rect.Top,AdvStringGrid1.Cells[ACol,ARow]); end;end;
clLightGray = $00F0F0F0; //颜色常量值的格式是$00bbggrr, 其中bb、gg、rr分别是蓝、绿、红色的十六进制值......
rsgBOM.Canvas.Brush.Color:=clLightGray;
......
rsgBOM.Canvas.Brush.Color:=RGB(240,240, 240);
但是问题来了:填充后,原本的文字就看不到了,怎么回事?procedure TfrmBOMShow.rsgBOMDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if ((ACol=7)and(ARow>0)) then
begin
rsgBOM.Canvas.Brush.Color:=$00F0F0F0;
rsgBOM.canvas.FillRect(rect);
end;
end;
procedure TForm1.AdvStringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (Acol = 1) and (Arow = 1) then
begin
AdvStringGrid1.Canvas.Brush.Color := $00F0F0F0;
AdvStringGrid1.Canvas.Font.Color := clred;
AdvStringGrid1.Canvas.TextRect(rect,rect.Left,rect.Top,AdvStringGrid1.Cells[ACol,ARow]);
end;end;