Delphi:自动滚动String Grid

时间:2011-07-20 02:21:02

标签: string delphi grid scroll

如何为String Grid自动滚动?

如果字符串网格不可见(例如,在隐藏的框架上),则属性“行”或“TopRow”无效:不选择单元格。如果要显示它 - 它的单元格被选中,“Row”/“TopRow”可以工作。

尝试。在设计时间。字符串网格:100行,可见:= false。在按钮上单击:StringGrid1.Row:= 99; StringGrid1.Visible:= true。并为String Grid返回“visible”为true。请看一下差异。

谢谢!

2 个答案:

答案 0 :(得分:2)

如果字符串网格之前从未显示过,请在设置row之前调用HandleNeeded

StringGrid1.HandleNeeded;
StringGrid1.Row := 99;

// later
StringGrid1.Visible := True;


最初不可见,尚未创建字符串网格窗口。设置row设置属性但不能滚动不存在的窗口。

答案 1 :(得分:0)

当我尝试以下代码时,它似乎在所有三种情况下都是相同的,可见的,不可见的和不可见的父代:

  StringGrid1.TopRow := 5;
  showmessage(inttostr(StringGrid1.TopRow)); //shows 5
  StringGrid1.Visible := false;
  StringGrid1.TopRow := 2;
  showmessage(inttostr(StringGrid1.TopRow)); //shows 2
  StringGrid1.Parent.Visible := false;
  StringGrid1.TopRow := 1;
  showmessage(inttostr(StringGrid1.TopRow)); //shows 1

这是你的意思吗?