在delphi中更改列中数据的起始点

在delphi中更改列中数据的起始点,delphi,devexpress,Delphi,Devexpress,我正在使用Developer Express组件—TdxDBgrid作为网格,TdxMemData作为数据集 网格中大约显示10列 对于第二列,我尝试更改显示列值的起点。我正在尝试使用ACanvas.TextRect执行此操作。但这些变化并未受到影响。任何人都知道如何为任何网格更改列中数据的起始位置 谢谢我不确定您要问的是如何移动文本开始的x位置,但如果是,请尝试以下方法: procedure TForm1.dxDBGrid1Column2CustomDrawCell(Sender: TObje

我正在使用Developer Express组件—TdxDBgrid作为网格,TdxMemData作为数据集

网格中大约显示10列

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


谢谢

我不确定您要问的是如何移动文本开始的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源代码以了解这些细节。

是的,我在CustomDraw过程中也做了同样的操作,但没有效果。谢谢你的回答。在任何其他表格中,你知道我们如何做到这一点吗?请编辑你的问题,以显示你正在使用的确切代码。哦。。我犯了一个多么严重的错误。。我不是在说阿东:=真的。得到答案了。非常感谢,马丁。非常感谢你的帮助。