2

XヘッダーとXルートを持つvirtualstringtree(グリッドラインが有効)があります。中央にあり、すべてのヘッダー(独立)を通過するテキストが1つしかないルートに、子(少なくとも1つ)を追加したいと思います。したがって、ヘッダーなどのサイズを変更しても、テキストは常にVirtualStringTreeの実際のクライアントサイズに揃えられます。

これは可能ですか?もしそうなら、どのように?

ここに画像の説明を入力してください

4

1 に答える 1

4

これはセル結合のように聞こえます。これについては、ここで説明します。たとえば、ソリューションを に含める場合toAutoSpanColumnsですTreeOptions.AutoOptions

中央揃えのテキストが必要な場合は、OnDrawTextそれに応じてオーバーライドします。何かのようなもの:

procedure TForm1.VirtualStringTree1DrawText(Sender: TBaseVirtualTree;
  TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
  const Text: WideString; const CellRect: TRect; var DefaultDraw: Boolean);
var
  r: TRect;
begin
  r := CellRect;
  Windows.DrawTextW(TargetCanvas.Handle, PWideChar(Text), Length(Text), r, DT_CENTER or DT_VCENTER);
  DefaultDraw := False;
end;
于 2012-08-09T12:33:53.020 に答える