1

StringGrid (Vertical AND Horizo​​ntal) のセルの中央にテキストを設定する方法を知りたい... StringGrid のキャンバスを使用しています。

私は Delphi を使用していますが、それを行う最も簡単な方法が必要です...

誰でも私を助けることができますか?

4

1 に答える 1

1

いくつかの書式設定機能を持つAPI 関数DrawTextを使用できます。

簡単な例:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  Grid: TStringGrid;
begin
  Grid := Sender as TStringGrid;
  Grid.Canvas.FillRect(Rect);
  DrawText(Grid.Canvas.Handle, Grid.Cells[ACol, ARow],
           Length(Grid.Cells[ACol, ARow]),
           Rect, DT_CENTER or DT_VCENTER or DT_SINGLELINE);
end;
于 2016-06-04T03:39:38.733 に答える