0

私は Developer Express コンポーネントを使用しています - TdxDBgrid をグリッドとして、TdxMemData をデータセットとして使用しています。

グリッドには約 10 列が表示されます。

2 番目の列では、列の値が表示される開始点を変更しようとしています。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 に答える