| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3955 人关注过本帖
标题:如何让编辑框中的滚动条一直保持在底部?
只看楼主 加入收藏
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
结帖率:99.55%
收藏
已结贴  问题点数:50 回复次数:10 
如何让编辑框中的滚动条一直保持在底部?
我用编辑框控件(edit)显示数据处理过程中的信息,但在运行过程中,EDIT控件一直从第一行显示,内容超过了可显示的区域就看不到了。由于数据处理过程中用户无法操作编辑框的滚动条,有没有办法在程序运行过程中,让编辑框的滚动条一直保持在底部,以便显示最后一部分提示信息。
搜索更多相关主题的帖子: 滚动 
2009-11-01 19:42
sywzs
Rank: 10Rank: 10Rank: 10
来 自:辽宁
等 级:贵宾
威 望:15
帖 子:508
专家分:1725
注 册:2009-5-13
收藏
得分:50 
让编辑框的滚动条一直保持在底部,也就是让光标移动到编辑框信息的末尾。可以在编辑框的GOTFOCUS事件中(即获得焦点时)加入以下代码,把光标移动底部。
this.SelStart=LEN(this.value)
2009-11-02 12:19
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
谢谢!我晚上回去试试。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2009-11-02 13:26
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
测试的结果不理想,我是将代码放在refresh事件中,增加了显示的内容之后就对编辑框进行刷新,虽然在瞬间会显示最后的内容,但马上又显示开始的内容,造成编辑框内的文本不停地晃动,没有自动滚动的效果,到最后还是显示开始的内容。不知是哪里还没有设置好。
我将代码改放在GotFocus事件中进行测试,结果也是同样。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2009-11-02 20:37
sywzs
Rank: 10Rank: 10Rank: 10
来 自:辽宁
等 级:贵宾
威 望:15
帖 子:508
专家分:1725
注 册:2009-5-13
收藏
得分:0 
我用9.0测试通过,没有问题。有兴趣的狐友可在不同版本下帮助测试一下,看看是什么效果?
2009-11-03 05:34
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
我在该代码之后加了一条wait语句停顿,就可以显示最后的内容,但wait过后又是显示开始的内容,估计可能是刷新编辑框造成的,如果不刷新又不能显示添加的内容。我也是用9.0。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2009-11-03 06:49
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
我想问题可能是由刷新引起的。因为我是通过程序将新内容添加了编辑框中,不用刷新就看不到添加的内容,用了刷新之后编辑框就从开始的位置显示内容了。就不知道还有其他途径来解决这个问题吗?

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2009-11-03 19:31
sywzs
Rank: 10Rank: 10Rank: 10
来 自:辽宁
等 级:贵宾
威 望:15
帖 子:508
专家分:1725
注 册:2009-5-13
收藏
得分:0 
不需要刷新,通过程序将新内容添加到编辑框中的同时,只需将编辑框设置焦点就可以了。
2009-11-04 05:36
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
我是通过代码向编辑框写入新内容的,不刷新就不会显示新的内容,光设置为焦点没有用的。不过还是要感谢楼上朋友的热心解答。

[ 本帖最后由 hu9jj 于 2009-11-4 15:13 编辑 ]

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2009-11-04 15:11
hgfeng1984
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:139
专家分:513
注 册:2006-3-26
收藏
得分:0 
FOR i = 1 TO 30
    thisform.edit1.Value=thisform.edit1.Value+ALLTRIM(STR(i))+chr(13)
    INKEY(0.1)
    thisform.edit1.SelStart=LEN(thisform.edit1.Value)
ENDFOR
thisform.edit1.Refresh



FOR i = 1 TO 30
    thisform.list1.additem(ALLTRIM(STR(i)))
    INKEY(0.1)
    thisform.list1.ListIndex=thisform.list1.ListCount+1
ENDFOR
thisform.list1.Refresh


Edit,List都可以做到这样的效果吧?就类似安装软件时的抽取文件的显示.
2009-11-05 10:06
快速回复:如何让编辑框中的滚动条一直保持在底部?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026671 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved