加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何使StringGrid的列适合网格的宽度?

发布时间:2020-12-15 09:33:30 所属栏目:大数据 来源:网络整理
导读:我一直在寻找一个没有运气的解决方案.有谁知道一个简单的方法吗?我想伸展我的网格的第二列以适应网格的宽度! 解决方法 使用ColWidths属性,如下所示: with StringGrid1 do ColWidths[1] := ClientWidth - ColWidths[0] - 2 * GridLineWidth; 对于更强大和
我一直在寻找一个没有运气的解决方案.有谁知道一个简单的方法吗?我想伸展我的网格的第二列以适应网格的宽度!

解决方法

使用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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读