我正在使用 Developer Express 组件 - TdxDBgrid 作为 Grid 和 TdxMemData 作为数据集。
网格中显示了大约 10 列。
对于第二列,我正在尝试更改显示列值的起点。我正在尝试使用 ACanvas.TextRect 来做到这一点。但这些变化并没有受到影响。任何人都知道如何更改任何网格的列中数据的起始位置。
谢谢
我正在使用 Developer Express 组件 - TdxDBgrid 作为 Grid 和 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 源代码。