如何在dbgrid中加粗部分文本?

时间:2014-02-06 16:33:46

标签: delphi fonts styles dbgrid

我正在使用Delphi XE2,有没有办法在DBGrid中的部分文本上设置粗体字体样式? 例如,当我搜索某些内容时,我想要这样的内容。

enter image description here

是否可以这样做?

2 个答案:

答案 0 :(得分:5)

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if (Column.Field.FieldName = 'Pay') then
  begin
    if Column.Field.AsString = 'yes' then
    begin
      dbgrid1.Canvas.Font.Color := clBlue;
      dbgrid1.Canvas.Font.Style :=[fsBold];
      dbgrid1.Canvas.FillRect(Rect);
      dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end
    else
    begin
      dbgrid1.Canvas.Font.Color:= clRed;
      dbgrid1.Canvas.FillRect(Rect);
      dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;
  end;
end;

答案 1 :(得分:1)

要解决此问题,请将DBGrid的属性DefaultDrawing的值设置为False。

我遇到了同样的问题并解决了。