点击button后,动态在scrollbox上生成一组控件
由于美观的原因,我隐藏了scrollbox的滚动条,用两个label分别上下控制ScrollBox的滚动
现在问题出来了
用ScrollBox1.ScrollBy(0,n) 的确可以控制上下滚动
但是可以无限制的滚下去,ScrollBox显示为空白了,还是可以滚,
请问如何判断ScrollBox里已经显示完了label变灰
因为里面的ScrollBox里面的东西是动态生成的,而且不一定有多少个,不能直接用数字表达,也不能用最后一个控件的名字来判断,我该怎么办,比较急
9 个解决方案
#1
哎呀,还是我给你想的呢
我先去收分,再来回答问题
我先去收分,再来回答问题
#2
嗯,收到,就是少了点:)
你可以设定一个变量,比如i
假设一行3个,每行高度是100像素,现在有14个动态创建的控件
i:=0; // 表示到顶
i:=1; // 表示在第二行
...
i:=14 div 3; // 表示到底了, 具体怎么得到这个值,你应该会的,我就不详细写了
if i>0 then 允许向上;
if i<(14 div 3) then 允许向下;
你可以设定一个变量,比如i
假设一行3个,每行高度是100像素,现在有14个动态创建的控件
i:=0; // 表示到顶
i:=1; // 表示在第二行
...
i:=14 div 3; // 表示到底了, 具体怎么得到这个值,你应该会的,我就不详细写了
if i>0 then 允许向上;
if i<(14 div 3) then 允许向下;
#3
又是布丁啊,我跟你发了消息你没回,我就发了这个贴子,我这个就是确定不了你说的这个i,因为我不知道总共有多少动态创建的控件,可能是100个,可能是50个,我不知道该怎么判断,大家都来看看啊
#4
有点没看明白
生成一组控件,为什么要放到ScrollBox里?
既然放到ScrollBox里,为什么要‘为了美观而隐藏scrollbox的滚动条’?
生成一组控件,为什么要放到ScrollBox里?
既然放到ScrollBox里,为什么要‘为了美观而隐藏scrollbox的滚动条’?
#5
试试循环ScrollBox里的每个控件,计算出AControl.Top + AControl.Height,则可以得到最大可以滚动的象素,再用一个变量记录当前已经滚动多少象素,即可控制label的enable
#6
楼上的,这样有点复杂,我的控件不是一排只有一个的
#7
一下子说不清
你到这个群来: QQ群号: 14006707
你到这个群来: QQ群号: 14006707
#8
再一次顶起来
#9
使用一个stringlist记录生成的所有控件,然后根据数量控制。
#1
哎呀,还是我给你想的呢
我先去收分,再来回答问题
我先去收分,再来回答问题
#2
嗯,收到,就是少了点:)
你可以设定一个变量,比如i
假设一行3个,每行高度是100像素,现在有14个动态创建的控件
i:=0; // 表示到顶
i:=1; // 表示在第二行
...
i:=14 div 3; // 表示到底了, 具体怎么得到这个值,你应该会的,我就不详细写了
if i>0 then 允许向上;
if i<(14 div 3) then 允许向下;
你可以设定一个变量,比如i
假设一行3个,每行高度是100像素,现在有14个动态创建的控件
i:=0; // 表示到顶
i:=1; // 表示在第二行
...
i:=14 div 3; // 表示到底了, 具体怎么得到这个值,你应该会的,我就不详细写了
if i>0 then 允许向上;
if i<(14 div 3) then 允许向下;
#3
又是布丁啊,我跟你发了消息你没回,我就发了这个贴子,我这个就是确定不了你说的这个i,因为我不知道总共有多少动态创建的控件,可能是100个,可能是50个,我不知道该怎么判断,大家都来看看啊
#4
有点没看明白
生成一组控件,为什么要放到ScrollBox里?
既然放到ScrollBox里,为什么要‘为了美观而隐藏scrollbox的滚动条’?
生成一组控件,为什么要放到ScrollBox里?
既然放到ScrollBox里,为什么要‘为了美观而隐藏scrollbox的滚动条’?
#5
试试循环ScrollBox里的每个控件,计算出AControl.Top + AControl.Height,则可以得到最大可以滚动的象素,再用一个变量记录当前已经滚动多少象素,即可控制label的enable
#6
楼上的,这样有点复杂,我的控件不是一排只有一个的
#7
一下子说不清
你到这个群来: QQ群号: 14006707
你到这个群来: QQ群号: 14006707
#8
再一次顶起来
#9
使用一个stringlist记录生成的所有控件,然后根据数量控制。