Dia Show Bilder laden

  • hm...folgendes Problem

    in meinem Ordner habe ich 10 Bilder
    Bild1
    Bild2
    u.s.w.
    Diese möchte ich nun als "always on Top"
    durchlaufen lassen!
    Ohne Rahmen sondern nur die Fotos!

    [autoit]


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 523, 349, 639, 271)
    $Pic1 = GUICtrlCreatePic("@ScriptDir & \Bild.jpg", 0, 0, 521, 345)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO+$GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    For $i = 1 To 10
    $Bild = "Bild" & $i ;

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

    Sleep(1000) ; die Pause zwischen den Bildern!
    next

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

    EndSwitch
    WEnd

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

    komme irgendwie nicht weiter...

    Grüße
    Ilse :(

    2 Mal editiert, zuletzt von Ilse (3. November 2010 um 17:40)

  • Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 523, 349, 639, 271)
    $Pic1 = GUICtrlCreatePic("", 0, 0, 521, 345)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO+$GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    For $i = 1 To 10
    GUICtrlSetImage($Pic1, @ScriptDir&"\Bild"&$i&".jpg") ;

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

    Sleep(1000) ; die Pause zwischen den Bildern!
    next

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

    EndSwitch
    WEnd

    [/autoit]
  • [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 521, 345, 639, 271, $WS_POPUP)
    GUISetState(@SW_SHOW)

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

    For $i = 1 To 10
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Bild" & $i & ".jpg", 0, 0, 521, 345)
    GUICtrlSetResizing($Pic1, $GUI_DOCKAUTO + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    Sleep(1000) ; die Pause zwischen den Bildern!
    GUICtrlDelete($Pic1)
    Next
    Exit

    [/autoit]
  • wenn der gui rahmen auch weg soll...

    i2c
    heut is wirklich nich dein tag wie dus schon im anderen thread gepostet hast ^^
    wieso nicht:

    [autoit]

    GUICtrlSetImage

    [/autoit]


    und das resizing brauchts bei nem popup auch nimmer :P

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 523, 349, 639, 271, $WS_POPUP)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Bild1.jpg", 0, 0, 523, 349)
    GUISetState()

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

    For $i = 1 To 10 Step 1
    Sleep(2500)
    $Pic1 = GUICtrlSetImage($Pic1,@ScriptDir & "\Bild" & $i & ".jpg")
    Next

    [/autoit]

    Einmal editiert, zuletzt von Milla (3. November 2010 um 14:27)

  • vielen Dank für eure Vorschläge!

    Ein Problem gibt es noch:
    Die Dia-Gui befindet sich ja nun auf einer anderen Gui im Vordergrund!
    Bei diesem Beispiel
    werden nach der Dia-Show sämtliche gui-Fenster geschlossen und das kpl. Programm beendet!
    Es sollte aber nur die Bilder-Gui nach dem Loop beendet werden.

    Ich habe mit GuiSwitch probiert, das ging aber nicht!

    [autoit]


    $intro = GUICreate("Intro", 521, 345, 639, 271, $WS_POPUP)
    GUISetState(@SW_SHOW)

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

    For $i = 1 To 10
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Bild" & $i & ".jpg", 0, 0, 521, 345)
    GUICtrlSetResizing($Pic1, $GUI_DOCKAUTO + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    Sleep(1000) ; die Pause zwischen den Bildern!
    GUICtrlDelete($Pic1)
    Next
    ;exit ; danach werden alle GuiFenster geschlossen!
    GUISwitch($intro) ;
    GUICtrlDelete($intro); Gui wird nicht geschlossen

    [/autoit]

    gibt es da noch eine andere Möglichkeit?

    Grüße
    Ilse ;)

  • Hallo Ineluki,

    klar doch, hatte es im neues Post nur vergessen zu deaktivieren. Sorry...
    Deswegen sind ja die beiden anderen Befehle dazu gekommen.
    Exit kann ich ja nicht verwenden, da alles geschlossen wird.

    Wie komme ich da wieder raus, ohne die andere Gui zu schließen?

  • Erstmal nicht

    [autoit]

    GUICtrlDelete($intro)

    [/autoit]


    sondern

    [autoit]

    GUIDelete($intro)

    [/autoit]


    Du hast nen Fenster kein Control.

    und wenn sich dann Skript danach nicht beenden soll muss danach auch noch was folgen,z.B. eben ne Schleife

    [autoit]

    #include <WindowsConstants.au3>
    #include <GuiConstantsEx.au3>

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

    $intro = GUICreate("Intro", 521, 345, 639, 271, $WS_POPUP)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Bild1.jpg", 0, 0, 521, 345)
    GUISetState()

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

    For $i = 1 To 10
    GUICtrlSetImage($Pic1,@ScriptDir & "\Bild" & $i & ".jpg")
    Sleep(1000) ; die Pause zwischen den Bildern!
    Next
    ;exit ; danach werden alle GuiFenster geschlossen!
    GUISwitch($intro)
    GUIDelete($intro)

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

    While 1
    Sleep(100)
    WEnd

    [/autoit]
  • ...jetzt habe ich doch noch ein Problem.

    Die Diashow ist auf einer Gui.
    Die Gui im Hintergrund führt aber ein Script aus und soll
    nicht gestoppt werden, wenn die Diashow (Gui) geöffnet und gestartet wird!

    Meine Gui wird erst fortgesetzt wenn die Diashow beendet ist.
    Es sollte aber so sein:

    [autoit]


    1. Script startet (Gui) ------>
    2. Diashow startet (Titel)-------->
    3. Script von 1 wird weiter ausgeführt während die Diashow läuft

    [/autoit]
  • Hallo Ineluki,

    hier ist der Aufbau:

    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Gui = GUICreate("Gui", 529, 362, 238, 145)
    $Button1 = GUICtrlCreateButton("Start", 232, 136, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Button1

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

    _Bilder()

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

    For $i=1 to 3 Step +1
    MsgBox(4,"Test","Programm ist aktiv" & $i,1)
    next
    Msgbox(4,"Ende der Bilder Gui","Das war's")
    GUISwitch($Intro) ;Gui wird geschlossen
    GUIDelete($intro);Gui wird geschlossen
    EndSwitch
    WEnd

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

    Func _Bilder()

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

    $Intro = GUICreate("Intro", 521, 345, 639, 271, $WS_POPUP)
    GUISetState(@SW_SHOW)

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

    For $i = 1 To 5
    $Pic1 = GUICtrlCreatePic( @ScriptDir & "\Bild" & $i & ".jpg", 0, 0, 521, 345)
    GUICtrlSetResizing($Pic1, $GUI_DOCKAUTO + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    Sleep(1000) ; die Pause zwischen den Bildern!
    ;$Webname2 = GUICtrlCreateLabel($Titel, 120, 120, 220, 120)
    GUICtrlSetFont(-1, 40, 400, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT )
    GUICtrlDelete($Pic1)
    Next
    ;GUISwitch($Intro) ;Gui wird geschlossen
    ;GUIDelete($intro);Gui wird geschlossen
    ;Exit
    ;MsgBox(4,"KM",$km1)

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

    EndFunc

    [/autoit]

    Im Prinzip sollen die beiden gleichzeitig laufen wenn auf Start geklickt wird.
    Noch ne Frage zur Schleife:
    Kann man die Bilder wenn Sie beendet sind nochmal von vorne starten.

    Ich meine daß die Hauptgui erst die Diashow beendet?

    Einmal editiert, zuletzt von Ilse (3. November 2010 um 19:06)