Pic als GUICreate

  • Hallo

    ich möchte ein pic als GUICreate machen was mache ich falsch?

    [autoit]

    #include <GuiConstants.au3>

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

    $Gui1 = GUICreate("titel", "670", "881")

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

    $og6 = GUICreate("titel", 370, 320, 100, 80, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $Gui1)
    $obg6 = GUICtrlCreatePic("guic.gif", 0, 0, 0, 0)

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

    $button_ = GUICtrlCreatePic("minimize.gif", 300, 40, 0, 0)
    $buttonx = GUICtrlCreatePic("close.gif", 320, 40, 0, 0)

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

    GUISetState()

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

    While 1

    Switch GUIGetMsg()

    Case $button_
    GUISetState(@SW_MINIMIZE)

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

    Case $buttonx
    exit

    EndSwitch
    wend

    [/autoit]


    Also das mit den hintergrund is ja richtig glaube ich aber das mit close und minimize geht i-wie nicht warum?
    wenn ich auf die pics klicke passiert keine funktzion.
    warum nicht? Help Pls

  • Hi,
    hoffe ich hab dich richtig verstanden.
    Damit du auf die Pics klicken kannst, mußt du das Hintergrundbild in den Hintergrund setzen

    [autoit]

    ;Hintergrundbild
    GUICtrlCreatePic($hintergrundbild, 0, 0, 430, 380, $WS_CLIPSIBLINGS)
    GuiCtrlSetState(-1,$GUI_DISABLE)

    [/autoit]
  • Ich dachte Du wolltest ein Image als GUI, also praktisch 'geskinnt' ... !?

    Naja, hier ist trotzdem ein Bsp.

    Spoiler anzeigen
    [autoit]

    #include-once
    #include <GuiConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>

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

    $hWnd = GUICreate('', 635, 476, -1, -1, $WS_POPUP)

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

    $Pic = GUICtrlCreatePic('pic.jpg', 0, 0, 635, 476, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS), $GUI_WS_EX_PARENTDRAG)

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

    $WndMin = GUICtrlCreatePic('min0.bmp', 561, 0, 26, 17, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    GUICtrlSetState(-1, $GUI_ONTOP)
    GUICtrlSetTip(-1, 'Minimieren')

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

    $WndClose = GUICtrlCreatePic('close0.bmp', 587, 0, 43, 17, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    GUICtrlSetState(-1, $GUI_ONTOP)
    GUICtrlSetTip(-1, 'Schliessen')

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

    $btnBeenden = GUICtrlCreatePic('BtnStpD.bmp', 528, 386, 80, 27, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    GUICtrlSetState(-1, $GUI_ONTOP)
    GUICtrlSetTip(-1, 'Programm beenden')

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

    _GuiRoundCorners($hWnd, 0, 0, 6, 6)

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

    GUISetState()

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

    While 1

    Switch GUIGetMsg()

    Case $WndClose
    Exit
    Case $btnBeenden
    Exit
    EndSwitch

    _PicButtonFromFile($hWnd, $WndMin, 'min0.bmp', 'min1.bmp', 'min2.bmp', 'Minimize')
    _PicButtonFromFile($hWnd, $WndClose, 'close0.bmp', 'close1.bmp', 'close2.bmp', 'Terminate')
    _PicButtonFromFile($hWnd, $btnBeenden, 'BtnStpD.bmp', 'BtnStpH.bmp', 'BtnStpH.bmp', 'Terminate')

    WEnd

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

    Func Minimize()

    GUISetState(@SW_MINIMIZE)

    EndFunc

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

    Func Terminate()

    Exit

    EndFunc

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

    Func _GuiRoundCorners($h_win, $i_x1, $i_y1, $i_x3, $i_y3)

    Local $pos = WinGetPos($h_win), $ret, $ret2

    $ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", _
    "long", $i_x1, _
    "long", $i_y1, _
    "long", $pos[2], _
    "long", $pos[3], _
    "long", $i_x3, _
    "long", $i_y3)
    If $ret[0] Then
    $ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $ret[0], "int", 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf

    EndFunc

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

    Func _PicButtonFromFile($hWnd, $controlID, $defaultPic, $onHooverPic, $onClickPic, $Function = '', $parameters = '')

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

    Local $resFunc
    If $onClickPic = '' Or $onClickPic = -1 Then $onClickPic = $onHooverPic
    $cMsg = GUIGetCursorInfo($hWnd)
    If $cMsg[4] = $controlID Then
    GUICtrlSetImage($controlID, $onHooverPic)
    $cMsg = GUIGetCursorInfo($hWnd)
    While $cMsg[4] = $controlID
    If GUIGetMsg() = $controlID Then
    GUICtrlSetImage($controlID, $onClickPic)
    $resFunc = Execute($Function & '(' & $parameters & ')') ; auf klick Funktion ausführen.
    EndIf
    Sleep(10)
    $cMsg = GUIGetCursorInfo($hWnd)
    WEnd
    GUICtrlSetImage($controlID, $defaultPic)
    Return $resFunc
    EndIf

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

    EndFunc ;==>_PicButtonFromFile

    [/autoit]

    Gruß
    Greenhorn