Hintergrundblid setzen!?

  • halllo liebe autoit freude,
    also ich wollte so was wie eine einstellung in ein programm einbauen in der man das hintergrund bild selber besimmen kann: also ein menu "einstellung" und dann kommt da ein button
    mit "hingrundbild setzen" und welches bild man auswählt das bild ist dann das hintergrund bild...
    mein versuch bis jetzt:

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=

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

    FileInstall("house2.jpg", @TempDir&"\house2.jpg")
    $Form1 = GUICreate("Form1", 608, 428, 192, 124)
    $Pic1 = GUICtrlCreatePic(@TempDir&"\house2.jpg", 0, 0, 628, 444, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $menu = GUICtrlCreateMenu("Datei")
    $menuitm = GUICtrlCreateMenuItem("Einstellungen", $menu)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $menuitm
    $einstellung = GUICreate("einstellung", 608, 428, 192, 124)
    $einstellungbutton = GUICtrlCreateButton("Hintergrundbild Setzen", 100,100,200,100)
    gUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUIDelete($einstellung)
    ExitLoop
    case $einstellungbutton
    ; ab hier weiß ich nicht mehr...
    EndSwitch
    WEnd

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

    EndSwitch
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von doPe (4. September 2009 um 20:00)

  • Damit du dabei was lernen kannst gebe ich dir 2 Tipps:

    [autoit]

    FileOpenDialog

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

    GUICtrlSetImage

    [/autoit]

    Wenn du dann noch Hilfe brauchst stehe ich dir gerne zur Verfügung!

    MfG xXTobi93Xx

  • Hallo doPe,

    hier ein Beispielskript zum Austauschen des Hintergrundbilds

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.0.0
    Author: AutoBert
    Script Function: Template for Background-Image (JPG)

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

    #ce ----------------------------------------------------------------------------

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

    Opt("GUIOnEventMode", 1) ;ONEvent Mode.

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

    Global $iWidht = 1024, $iHeight = 550

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

    HotKeySet("{F6}", "_hide")
    $hfrmMain = GUICreate("HintergrundBild", $iWidht, $iHeight,0,0)
    $hjpgBckgrnd = GUICtrlCreatePic("bin\bg" & Random(1, 8, 1) & ".jpg", 0, 0, $iWidht, $iHeight) ;change bgX.jpg with your jpeg
    GUICtrlSetState(-1, $GUI_DISABLE)
    $hmenu = GUICtrlCreateMenu("Datei")
    $hmnuBackground = GUICtrlCreateMenuItem("Hintergrundbild wählen", $hmenu)
    GUICtrlSetOnEvent(-1, "_OpenJPG")
    $hmnuExit = GUICtrlCreateMenuItem("Be&enden", $hmenu)
    GUICtrlSetOnEvent(-1, "_exitMain")

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

    $hbtnExit = GUICtrlCreateButton("Be&enden", $iWidht - 100, $iHeight - 50, 80)
    GUICtrlSetOnEvent(-1, "_exitMain")
    GUISetState()

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

    While True
    Sleep(120)
    WEnd

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

    Func _exitMain()
    Exit
    EndFunc ;==>_exitMain

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

    ; -------------- func
    Func _hide()
    GUISetState(@SW_HIDE, $hfrmMain)
    HotKeySet("{F6}", "_show")
    EndFunc ;==>_hide

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

    Func _show()
    GUISetState(@SW_SHOW, $hfrmMain)
    HotKeySet("{F6}", "_hide")
    EndFunc ;==>_show

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

    Func _OpenJPG()
    $sjpgBckgrnd = FileOpenDialog("Hintergrundbild auswählen", @ScriptDir & "\bin", "Images (*.jpg)", 1, "", $hfrmMain)
    GUICtrlSetImage($hjpgBckgrnd, $sjpgBckgrnd)
    EndFunc ;==>_OpenJPG

    [/autoit]


    das Beispiel ist im OnEvent-Mode geschrieben (den ich zwecks der Übersichtlicchkeit bevorzuge) lässt sich aber leicht in den Message-Loop Modus umsetzen. Anbei noch ein Zip-File (Bilder von ? zum Thema TransGui auf AutoItScript.com) das auch noch einmal zuzätzlich den Source enthält. Dieses ZIP entpackst du am besten in einen Ordner deiner Wahl und startest daraus das Skript,

    mfg (Auto)Bert

  • ich habs schon danke ^^
    so geth es auch :

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=

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

    FileInstall("house2.jpg", @TempDir&"\house2.jpg")
    $Form1 = GUICreate("Form1", 608, 428, 192, 124)
    $Pic1 = GUICtrlCreatePic(@TempDir&"\house2.jpg", 0, 0, 628, 444, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $menu = GUICtrlCreateMenu("Datei")
    $menuitm = GUICtrlCreateMenuItem("Einstellungen", $menu)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $menuitm
    $einstellung = GUICreate("einstellung", 608, 428, 192, 124)
    $einstellungbutton = GUICtrlCreateButton("Hintergrundbild Setzen", 100,100,200,100)
    gUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUIDelete($einstellung)
    ExitLoop
    case $einstellungbutton
    GUICtrlSetImage($Pic1,FileOpenDialog(" ","",""))
    EndSwitch
    WEnd

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

    EndSwitch
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von doPe (4. September 2009 um 20:18)