Problem mit Pic

  • Ich habe da ein Parr Probleme:
    Warum wird da das Pic nicht akktualisiert?
    Warum wird das Pic nicht mitgezogen,wenn ich das Fenster verschiebe?
    Und warum kann ich es nach dem Minimieren nicht wiederherstellen?
    THX

    mfg. Jam00

  • Ich weiß garnicht wo ich bei dem Beispiel anfangen soll Fehler auszubessern, deswegen habe ich jetzt auf halbem Weg aufgehört, weil es mir zu bunt wurde. Warum musst du immer eine Extrawurst habe?
    Schneller wäre ich, wenn ich den Code komplett neu schreiben würde.
    Ergebnis meiner bisherigen Bemühungen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Dim $Mitte[2]
    $Mitte[0] = @DesktopWidth /2 - (520/2)
    $Mitte[1] = @DesktopHeight / 2- (570/2)
    #Region ### START Koda GUI section ### Form=
    $Ramen = GUICreate("INC Light", 520, 570, $Mitte[0],$Mitte[1],$WS_POPUP);+$WS_CLIPCHILDREN)
    $RamenPic = GUICtrlCreatePic(@ScriptDir & "\Skin\1.gif", 0, 0, 520, 570, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS),$GUI_WS_EX_PARENTDRAG)
    _Ecken($Ramen,0,0,11,11)
    WinSetTrans ($Ramen,"",200)
    $Innen = GUICreate("", 507, 555,3,5,$WS_POPUP+$WS_CHILD, BitOR ($GUI_WS_EX_PARENTDRAG,$WS_EX_MDICHILD),$Ramen)
    $Hintergrund = GUICtrlCreatePic(@ScriptDir & "\Skin\2.gif", 0, 0, 507, 557, BitOR($SS_NOTIFY,$WS_CLIPSIBLINGS,$WS_DISABLED))
    $X = GUICtrlCreatePic(@ScriptDir & "\Skin\3.gif", 478, 0, 30, 15, 0);BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_EX_TRANSPARENT,$WS_EX_TOPMOST ))
    GUICtrlSetBkColor (-1,$GUI_BKCOLOR_TRANSPARENT)
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Innen, "int", 400, "long", 0x00040010);Slide von unten ein
    GUISetState(@SW_SHOW,$Innen)
    GUISetState(@SW_SHOW,$Ramen)
    $Status = False
    #EndRegion ### END Koda GUI section ###
    GUIRegisterMsg($WM_MOVE, "_Move")
    While 1
    If _Over($Innen,$X) Then
    ;~ If $Status = False Then
    ;~ GUISetState (@SW_LOCK,$Innen)
    GUICtrlSetImage ($X,@ScriptDir & "\Skin\4.gif")
    ;~ GUISetState (@SW_UNLOCK,$Innen)
    ;~ $Status = True
    ;~ EndIf
    Else
    ;~ If $Status = True Then
    ;~ GUISetState (@SW_LOCK,$Innen)
    GUICtrlSetImage ($X,@ScriptDir & "\Skin\3.gif")
    ;~ GUISetState (@SW_UNLOCK,$Innen)
    ;~ $Status = False
    ;~ EndIf
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $X
    Exit
    EndSwitch
    Sleep (10)
    WEnd
    Func _Ecken($h_win, $i_x1, $i_y1, $i_x3, $i_y3)
    Local $XS_pos, $XS_ret, $XS_ret2
    $XS_pos = WinGetPos($h_win)
    $XS_ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $i_x1, "long", $i_y1, "long", $XS_pos[2], "long", $XS_pos[3], "long", $i_x3, "long", $i_y3)
    If $XS_ret[0] Then
    $XS_ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $XS_ret[0], "int", 1)
    EndIf
    EndFunc ;==>_GuiRoundCorners
    Func _Move()
    GUISetState (@SW_LOCK,$Innen)
    GUISetState (@SW_UNLOCK,$Innen)
    EndFunc
    Func _Over($hWnd,$hObj)
    Local $Curser
    $Curser = GUIGetCursorInfo($hWnd)
    If $Curser[4] = $hObj Then
    Return True
    Else
    Return False
    EndIf
    EndFunc

    [/autoit]
  • Was für Extrawürste?

    Danke, das ist schon echt gut!

    Was denn für Fehler?

    Jetzt hab ich nur noch das Problem mit dem wiederherstellen, wenn ich es minimiert habe!

    Danke

    EDIT: Jetzt geht es mit dem Minimieren

    mfg. Jam00

    Einmal editiert, zuletzt von Jam00 (19. Februar 2009 um 21:55)