如何为String Grid自动滚动?
如果字符串网格不可见(例如,在隐藏的框架上),则属性“行”或“TopRow”无效:不选择单元格。如果要显示它 - 它的单元格被选中,“Row”/“TopRow”可以工作。
尝试。在设计时间。字符串网格:100行,可见:= false。在按钮上单击:StringGrid1.Row:= 99; StringGrid1.Visible:= true。并为String Grid返回“visible”为true。请看一下差异。
谢谢!
答案 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
这是你的意思吗?