Verschieben einer gui die ex_layered ist und ein Bild als Hintergrud hatt ?

  • Ja wie der name des Threads schon sagt, würde ich gerne meine Gui verschiebbar machen. Allerdings scheitere ich seit stunden, ichhabe auch die Hilfe zur rate gezogen
    und alte beispielscripte angeschaut aber mit einem label geht es leider nicht und mit gui_ex_parent_drag oder so ähnlich leider auch nicht

    Ich poste mal meine Gui und hoffe es ist evtl. Möglich

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ComboConstants.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    #include <ListBoxConstants.au3>
    #include <TabConstants.au3>
    #include <EditConstants.au3>
    #include <DateTimeConstants.au3>
    #include <SliderConstants.au3>
    #include <TreeViewConstants.au3>
    #include <ProgressConstants.au3>
    #include <AVIConstants.au3>
    #include <UpDownConstants.au3>
    #include<Array.au3>
    #include<File.au3>
    #include <WinAPI.au3>
    #include-once
    #NoTrayIcon

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

    FileInstall("hg.bmp",@TempDir & "\hg.bmp")
    FileInstall("Start.jpg",@TempDir & "\Start.jpg")
    FileInstall("Options.jpg",@TempDir & "\Options.jpg")
    FileInstall("Website.jpg",@TempDir & "\Website.jpg")
    FileInstall("Close.jpg",@TempDir & "\Close.jpg")
    $Lname = FileReadLine("Launcher.txt",2)
    $notice = FileRead("notice.txt")
    $HTT = FileReadLine("Launcher.txt",4)
    $Form1 = GUICreate($Lname, 550, 300, -1, -1,$WS_POPUP,$WS_EX_Layered)
    _GuiRoundCorners($Form1, 0, 0, 60, 60)
    $Pic2 = GUICtrlCreatePic(@TempDir & "\Start.jpg", 38, 265, 130, 30, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic3 = GUICtrlCreatePic(@TempDir & "\Options.jpg", 212, 265, 130, 30, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic4 = GUICtrlCreatePic(@TempDir & "\Website.jpg", 382, 265, 130, 30, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic5 = GUICtrlCreatePic(@TempDir & "\Close.jpg", 517, 15, 20, 20, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic1 = GUICtrlCreatePic(@TempDir & "\hg.bmp", 0, 0, 550, 300, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$Ws_Disabled))
    $Edit1 = GUICtrlCreateEdit("", 38, 168, 474, 89)
    GUICtrlSetData(-1, $notice)
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetColor(-1, 0xffffff)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Pic2
    _1()
    Case $Pic3
    _2()
    Case $Pic4
    _3()
    Case $Pic5
    _4()
    EndSwitch
    WEnd

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

    Func _GuiRoundCorners($hWnd, $x1, $y1, $x3, $y3)
    Dim $pos, $ret, $ret2
    $pos = WinGetPos($hWnd)
    $ret = DllCall('gdi32.dll', 'long', 'CreateRoundRectRgn', _
    'long', $x1, _
    'long', $y1, _
    'long', $pos[2], _
    'long', $pos[3], _
    'long', $x3, _
    'long', $y3)
    If $ret[0] Then
    $ret2 = DllCall('user32.dll', 'long', 'SetWindowRgn', 'hwnd', $hWnd, 'long', $ret[0], 'int', 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc

    [/autoit]


    Mfg LogiVidia


    P.s. im anhang sind die bilder

  • So z.B.:
    GUICtrlCreateLabel("",15,15,500,20,0,$GUI_WS_EX_PARENTDRAG)
    ;~ GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)

    Und du brauchst WS_EX_LAYERED gar nicht, da in deinen Bildern keine Farbe ist, die Transparent werden soll.

  • also ich habe es folgendermassen angepasst danke an alle


    Mfg LogiVidia


    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ComboConstants.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    #include <ListBoxConstants.au3>
    #include <TabConstants.au3>
    #include <EditConstants.au3>
    #include <DateTimeConstants.au3>
    #include <SliderConstants.au3>
    #include <TreeViewConstants.au3>
    #include <ProgressConstants.au3>
    #include <AVIConstants.au3>
    #include <UpDownConstants.au3>
    #include<Array.au3>
    #include<File.au3>
    #include <WinAPI.au3>
    #include-once
    #NoTrayIcon

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

    FileInstall("gf.bmp",@TempDir & "\gf.bmp")
    FileInstall("Start.jpg",@TempDir & "\Start.jpg")
    FileInstall("Options.jpg",@TempDir & "\Options.jpg")
    FileInstall("Website.jpg",@TempDir & "\Website.jpg")
    FileInstall("Close.jpg",@TempDir & "\Close.jpg")
    $Lname = FileReadLine("Launcher.txt",2)
    $notice = FileRead("notice.txt")
    $HTT = FileReadLine("Launcher.txt",4)
    $Form1 = GUICreate($Lname, 550, 300, -1, -1,$WS_POPUP,$WS_EX_Layered)
    _GuiRoundCorners($Form1, 0, 0, 60, 60)
    $Pic2 = GUICtrlCreatePic(@TempDir & "\Start.jpg", 38, 265, 130, 30, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic3 = GUICtrlCreatePic(@TempDir & "\Options.jpg", 212, 265, 130, 30, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic4 = GUICtrlCreatePic(@TempDir & "\Website.jpg", 382, 265, 130, 30, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic5 = GUICtrlCreatePic(@TempDir & "\Close.jpg", 517, 15, 20, 20, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic1 = GUICtrlCreatePic(@TempDir & "\gf.bmp", 0, 0, 550, 300, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$Ws_Disabled))
    GUICtrlCreateLabel("",15,15,520,160,0,$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    $Edit1 = GUICtrlCreateEdit("", 38, 168, 474, 89)
    GUICtrlSetData(-1, $notice)
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetColor(-1, 0xffffff)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Pic2
    _1()
    Case $Pic3
    _2()
    Case $Pic4
    _3()
    Case $Pic5
    _4()
    EndSwitch
    WEnd

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

    Func _GuiRoundCorners($hWnd, $x1, $y1, $x3, $y3)
    Dim $pos, $ret, $ret2
    $pos = WinGetPos($hWnd)
    $ret = DllCall('gdi32.dll', 'long', 'CreateRoundRectRgn', _
    'long', $x1, _
    'long', $y1, _
    'long', $pos[2], _
    'long', $pos[3], _
    'long', $x3, _
    'long', $y3)
    If $ret[0] Then
    $ret2 = DllCall('user32.dll', 'long', 'SetWindowRgn', 'hwnd', $hWnd, 'long', $ret[0], 'int', 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc

    [/autoit]