私は Developer Express コンポーネントを使用しています - TdxDBgrid をグリッドとして、TdxMemData をデータセットとして使用しています。
グリッドには約 10 列が表示されます。
2 番目の列では、列の値が表示される開始点を変更しようとしています。ACanvas.TextRect を使用して実行しようとしています。しかし、変更は影響を受けていません。グリッドの列のデータの開始位置を変更する方法を知っている人。
ありがとう
私は Developer Express コンポーネントを使用しています - TdxDBgrid をグリッドとして、TdxMemData をデータセットとして使用しています。
グリッドには約 10 列が表示されます。
2 番目の列では、列の値が表示される開始点を変更しようとしています。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 ソースを見ることができます。