0

イベント ハンドラーを使用OnCustomDrawCellして、ビットマップとテキストをセルに描画します。を呼び出すApplyBestFitと、セルの幅がビットマップに適合するのに十分になりますが、テキストに適合するのに十分ではありません。

たとえば、ビットマップの幅は 16、テキストの幅は 100 です。呼び出した後ApplyBestFit、セルの幅は 100 (テキストの幅に対応) になり、ビットマップと一部 (84px) が表示されます。文章。

ビットマップとテキストの両方に収まるように、セルの幅を 116 にしたいと思います。

OnCustomDrawCellイベント ハンドラ内でセルの希望の幅を設定することは可能ですか?

4

2 に答える 2

0

TcxCustomGridTableItem へのアクセス クラスを宣言します。

type
  TcxCustomGridTableItemAccess = class(TcxCustomGridTableItem);

そしてあなたの方法で次のことを行います:

procedure Test.cxGrid1DBTableView1CustomDrawCell(
  Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
  if Assigned(AViewInfo) and Assigned(AViewInfo.Item) then
    TcxCustomGridTableItemAccess(AViewInfo.Item).Width := 116; // or calc here your new width
end;
于 2013-10-23T16:00:37.600 に答える