我一直在寻找解决方案,但没有任何运气。有谁知道一个简单的方法来做到这一点?例如,我想拉伸(stretch)网格的第二列以适应网格的宽度!
最佳答案
使用 ColWidths
属性,如下所示:
with StringGrid1 do
ColWidths[1] := ClientWidth - ColWidths[0] - 2 * GridLineWidth;
为了获得更强大、更灵活的解决方案,请考虑所有固定列并参数化列索引:
procedure SetColumnFullWidth(Grid: TStringGrid; ACol: Integer);
var
I: Integer;
FixedWidth: Integer;
begin
with Grid do
if ACol >= FixedCols then
begin
FixedWidth := 0;
for I := 0 to FixedCols - 1 do
Inc(FixedWidth, ColWidths[I] + GridLineWidth);
ColWidths[ACol] := ClientWidth - FixedWidth - GridLineWidth;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetColumnFullWidth(StringGrid1, 4);
end;
关于delphi - 如何使 StringGrid 的列适合网格的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7884248/