0

我正在使用 Developer Express 组件 - TdxDBgrid 作为 Grid 和 TdxMemData 作为数据集。

网格中显示了大约 10 列。

对于第二列,我正在尝试更改显示列值的起点。我正在尝试使用 ACanvas.TextRect 来做到这一点。但这些变化并没有受到影响。任何人都知道如何更改任何网格的列中数据的起始位置。

谢谢

4

1 回答 1

2

我不确定您要问的是如何移动文本开始的 x 位置,但如果是,请尝试以下操作:

procedure TForm1.dxDBGrid1Column2CustomDrawCell(Sender: TObject;
  ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
  AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
  var AText: String; var AColor: TColor; AFont: TFont;
  var AAlignment: TAlignment; var ADone: Boolean);
var
  XOffset : Integer;
begin
  XOffset := 20;
  ACanvas.FillRect(ARect);
  ACanvas.TextOut(ARect.Left + XOffset, ARect.Top, AText);
  ADone := True;
end;

显然,这不涉及如何绘制选定列和焦点列等细节,但您应该明白这一点,您可以查看 DevEx 源代码。

于 2013-11-01T10:56:41.847 回答