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