hur.cn - 华软网

 热门搜索

菜鸟的问题

  作者:未知    来源:网络    更新时间:2018/12/6
列位大侠,小弟是刚起头学PowerBuilder10.0的  今天有个循环搞不出来了,有哪位大侠来帮小弟一把。
    问题:实现字体在窗体上的左右滚动
    要求:让字体从左侧滚到右侧,再从右侧滚到左侧
    我的问题:我只可做到从左侧滚到右侧,不能前往
    我的代码:timer:    if st_1.x<=this.width - st_1.width  then
                  st_1.x=st_1.x + 10
                        else 
                   st_1.x = 0
                        end if
               open: timer(0.1)
------华软网友回答------
"赛马灯"的实现技巧

深圳:独孤求败 2003-11-24

    有时需要用一矩形条显示少许用户特别关心的信息,这条信息串首尾相连,向一个方向循环滚动,

咱们通常将其称作"赛马灯"。证券业中经常运用"赛马灯"来显示持续转变的股票行情;实际应用中也

常通过"赛马灯"来监视是否死机。咱们能够写一个简单的函数run_horse()来实现"赛马灯"的

显示。run_horse有两个参数,第一个参数的参数名为Ps_String,类型为string,传值;第二个参

数的参数名为Pi_Num,类型为int,传值;函数返值类型为string。该函数的代码仅一句: 

RETURN Mid(Ps_String , (Pi_Num + 1)) + Left(Ps_String , Pi_Num)

    下面就能够调用run_horse()函数了。先在一个窗口里定义好单行编辑器sle_runhorse,

在该窗口的Open事件下写上:

    sle_runhorse.Text="ABCDEFGHIJKLMNOPQRSTUVWXYZ"

    Timer(0.2)

    然后在该窗口的Timer事件下调run_horse(),代码以下:   

    sle_runhorse.text=run_horse(sle_runhorse.Text,1)

    这样,当你打开这个窗口时,"赛马灯"便会运转起来。能够在程序中加些语句,

适时地增减sle_runhorse.text中的内容,你便会在"赛马灯"中看到响应转变的信息。

    上面讲述的是单字符的显示,对于向汉字这样双字符的得稍作修改。修改以下:

函数代码:RETURN Mid(Ps_String , (Pi_Num + 2)) + Left(Ps_String , (Pi_Num + 1))

窗口Open:sle_runhorse.Text="独孤求败是个大乌龟!"


在状态栏里面的实现要加入一个实例变量:
    Is_Show
然后在Timer事件中写:
    w_main.setmicrohelp(run_horse(Is_Show,1))




------华软网友回复------
真谢谢你啦!大乌龟,我跟你学了一手,不过你的回复不是我要的那种效果哦!
我要的效果是,就象小球碰壁的效果一样,一行字体从左侧起头滚动到右侧,遇到右侧的边缘时再滚动回左侧,这样才是我要的啦
------华软网友回复------
直接用move就能够吧,,在timer事件里调用
------华软网友回复------
偶是菜鸟,还不怎么懂move哦,呜~~~~~~~~~~~~~~
------华软网友回复------
有哪伟大侠回小弟的贴啊,问题照旧没解决啊!~~~~~~~~~~~
------华软网友回复------
把timer间隔搞大点,然后单步追踪看看是否执行到了 st_1.x = 0这步      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。