水木子 发表于 2010-3-16 21:36:46

本帖最后由 水木子 于 2010-3-16 21:38 编辑

回复 13# afan
我猜LZ是不是看到前辈的例子 认为前辈的是一个控件在滚动! 而他要的效果是整个GUI滚动???
哎!瞎猜的!

menfan 发表于 2010-3-16 21:41:22

回复afan
我猜LZ是不是看到前辈的例子 认为前辈的是一个控件在滚动! 而他要的效果是整个GUI滚动??? ...
水木子 发表于 2010-3-16 21:36 http://www.autoitx.com/images/common/back.gif

这个例子以前就看到过了,一般实现滚动屏幕都是一行一行滚动,现在要实现的时一屏一屏的滚动切换,难度加大了一点哦。

水木子 发表于 2010-3-16 21:44:25

一屏一屏的滚动切换???

一屏的文字显示一段时间,滚动出去 新的文字进来停一段时间再出去 ??? 这样切换?

menfan 发表于 2010-3-16 21:45:16

一屏一屏的滚动切换???

一屏的文字显示一段时间,滚动出去 新的文字进来停一段时间再出去 ??? 这样 ...
水木子 发表于 2010-3-16 21:44 http://www.autoitx.com/images/common/back.gif

没错,类似于这种效果

水木子 发表于 2010-3-16 21:49:02

哦!那也比较简单!
我倒是在想做点切换时的特效,就像一些图片切换那样!

menfan 发表于 2010-3-16 21:52:33

哦!那也比较简单!
我倒是在想做点切换时的特效,就像一些图片切换那样!
水木子 发表于 2010-3-16 21:49 http://www.autoitx.com/images/common/back.gif

做好的话发个例子学习一下哦

lxz 发表于 2010-3-16 21:56:09

这个应该可以做到.....

menfan 发表于 2010-3-16 22:03:49

可以做的话,能不能给个实例呢?

水木子 发表于 2010-3-16 22:30:26

临时做的有点乱!不知道LZ是不是这意思?#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $hFgui, $hSgui, $Label1, $Label2, $Texta, $zb, $za

_Example1()

Func _Example1()
        $za = -180
        $zb = 300
        $Texta = '          滚动字幕开始' & @CRLF & @CRLF & _
                        '    这里是很长很长的测试文字' & @CRLF & @CRLF & _
                        '    这里是很长很长的测试文字' & @CRLF & @CRLF & _
                        '    这里是很长很长的测试文字' & @CRLF & @CRLF & _
                        '    这里是很长很长的测试文字' & @CRLF & @CRLF & _
                        '    这里是很长很长的测试文字' & @CRLF & @CRLF & _
                        '    这里是很长很长的测试文字' & @CRLF & @CRLF & _
                        '    这里是很长很长的测试文字' & @CRLF & @CRLF & _
                        '    这里是很长很长的测试文字' & @CRLF & @CRLF & _
                        '          滚动字幕结束'

        $hFgui = GUICreate('滚动字幕', 450, 300)
        GUISetState()
        $hSgui = GUICreate("", 200, 260, 230, 40, $WS_POPUP, $WS_EX_MDICHILD, $hFgui)
        GUISetBkColor('0x008ACC', $hSgui)

        $Label1 = GUICtrlCreateLabel("", -180, 15, 190, 250)
        $Label2 = GUICtrlCreateLabel("", 5, 300, 190, 250)
        GUICtrlSetData($Label1, $Texta)
        GUICtrlSetData($Label2, $Texta)
        GUISetState()
        AdlibRegister('Scrolla', 20)
EndFunc   ;==>_Example1

While GUIGetMsg() <> -3
WEnd

Func Scrolla()
        ControlMove($hSgui, '', $Label2, 5, $zb)
        If $zb = -250 Then
                $zb = 300
                AdlibUnRegister('Scrolla')
                AdlibRegister('Scrollb', 20)
        ElseIf $zb = 15 Then
                Sleep(3000)
        EndIf
        $zb -= 1
EndFunc   ;==>Scrolla

Func Scrollb()
        ControlMove($hSgui, '', $Label1, $za, 15)
        If $za = 250 Then
                $za = -180
                AdlibUnRegister('Scrollb')
                AdlibRegister('Scrolla', 20)
        ElseIf $za = 5 Then
                Sleep(3000)
        EndIf
        $za += 1
EndFunc   ;==>Scrollb

水木子 发表于 2010-3-16 22:35:21

不知道怎么的,我始终觉得文字在滚动的时候抖动得很厉害,你试试呢!

menfan 发表于 2010-3-17 07:42:33

不知道怎么的,我始终觉得文字在滚动的时候抖动得很厉害,你试试呢!
水木子 发表于 2010-3-16 22:35 http://www.autoitx.com/images/common/back.gif

呵呵,是闪烁厉害吧,不知道如何平滑滚动?

menfan 发表于 2010-3-17 08:22:14

本帖最后由 menfan 于 2010-3-17 08:27 编辑

临时做的有点乱!不知道LZ是不是这意思?
水木子 发表于 2010-3-16 22:30 http://www.autoitx.com/images/common/back.gif

这个代码是已知文本的情况,如果是未知文本大小(要取多个DOC文件)的情况呢?比如滚动一个文件内容后停顿一下,然后滚动所有文件内容之后停顿一下,再循环滚动。

lxz 发表于 2010-3-17 11:32:25

不知道怎么的,我始终觉得文字在滚动的时候抖动得很厉害,你试试呢!
水木子 发表于 2010-3-16 22:35 http://www.autoitx.com/images/common/back.gif


    有点抖动.....

yuexiao986 发表于 2010-3-17 12:39:54

新手进来学习赚点分

xwlzx 发表于 2010-3-21 13:53:48

看看,谢谢!
页: 1 [2] 3
查看完整版本: 【已解决】AU3如何实现滚动字幕功能?