Label seitwärts scrollen lassen

  • Also, vllt kennt ihr das ja von Mediaplayern, dass der Text des abgespielten Liedes, falls er zu lang ist, seitwärts gescrollt wird.

    Lässt sich das über Standard-Funtkionen lösen?

  • Hallo mipez,

    das kannst du so lösen:

    Spoiler anzeigen
    [autoit]

    #include <StaticConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    AdlibRegister('_Laufschrift', 500)

    [/autoit] [autoit][/autoit] [autoit]

    Global $iPos = 0
    Global $sText = "Das ist der Text, der immer wieder durchläuft! Viel Spass damit"

    [/autoit] [autoit][/autoit] [autoit]

    Global $mygui = GUICreate('my gui', 200, 200)
    Global $myl2 = GUICtrlCreateLabel($sText, 10, 50, 180, 15,$SS_LEFTNOWORDWRAP)
    GUISetState()
    While GUIGetMsg() <> -3
    WEnd
    AdlibRegister('_Laufschrift')

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _Laufschrift()
    GUICtrlSetData($myl2,StringMid($sText,$iPos) & " " & $sText)
    $iPos = $iPos +1
    if $iPos > StringLen($sText) Then $iPos = 0
    Sleep(100)
    EndFunc

    [/autoit]

    mfg autoBert

    • Offizieller Beitrag

    Hi, Autobert.

    Für was benutzt du einen AdlibRegister alle 500 ms und in der Funktion eine Sleep(100)?
    Klingt unlogisch, oder hat das eine besondere Bewandnis?

    Spoiler anzeigen
    [autoit]

    #include <StaticConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    AdlibRegister('_Laufschrift', 100)

    [/autoit] [autoit][/autoit] [autoit]

    Global $iPos = 0
    Global $sText = "Das ist der Text, der immer wieder durchläuft! Viel Spass damit"

    [/autoit] [autoit][/autoit] [autoit]

    Global $mygui = GUICreate('my gui', 200, 200)
    Global $myl2 = GUICtrlCreateLabel($sText, 10, 50, 180, 15,$SS_LEFTNOWORDWRAP)
    GUISetState()
    While GUIGetMsg() <> -3
    WEnd
    AdlibRegister('_Laufschrift')

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _Laufschrift()
    GUICtrlSetData($myl2,StringMid($sText,$iPos) & " " & $sText)
    $iPos = $iPos +1
    if $iPos > StringLen($sText) Then $iPos = 0
    ;~ Sleep(100)
    EndFunc

    [/autoit]