einen button über ein bild bwegen ohne flackern

  • Tag zusammen ,

    hier ist ein Auszug aus einer Funktion eines programmes von mir, ich möchte das die buttons von beiden seiten zusammen kommen und das dabei das hintergrundbild nicht flacker (am besten ohne eine neue gui für die button zu erstellen)

    Spoiler anzeigen


    Local $mGUI, $Button[2], $move_in

    $mGUI = GUICreate($Titel, 640, 375,0,25,$WS_POPUP, $WS_EX_TOPMOST + $WS_EX_MDICHILD + $WS_EX_LAYERED,$hGUI)
    GUISetBkColor (0xFFFFFF)
    GUICtrlCreatePic("BK.gif", 0, 0, 640, 400)
    GUICtrlSetState(-1, $GUI_DISABLE)


    $Button[0] = GUICtrlCreateButton ("1 Spieler",250,100,140,50)
    GUICtrlSetColor (-1,0xFF0000)
    GUICtrlSetFont(-1, 18, 400, 0, "Ellis")
    GUICtrlSetOnEvent (-1,"_info_button")
    $Button[1] = GUICtrlCreateButton ("2 Spieler",250,170,140,50)
    GUICtrlSetColor (-1,0xFF0000)
    GUICtrlSetFont(-1, 18, 400, 0, "Ellis")
    GUICtrlSetOnEvent (-1,"_info_button")

    GUISetState (@SW_SHOW)

    For $move_in = 0 To 400 Step 20

    ControlMove("","",$Button[0], -150 + $move_in, 100)
    ControlMove("","",$Button[1], 650 - $move_in, 170)

    Sleep (10)

    Next

  • Hallo moritz1243,

    dein Programm löst bei mir diesen Effekt aus:

    autoit.de/wcf/attachment/4259/

    Edit: so funktionierst bei mir kein Flackern und Scite wird auch nicht verschoben

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ; *** Start added by AutoIt3Wrapper ***
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    ; *** End added by AutoIt3Wrapper ***
    Local $mGUI, $Button[2], $move_in
    Local $hGUI ;<------------------------------------------------------------------------------------------|
    ; |
    $Titel = "sollte man schon definieren" ;<---------------------
    ;$mGUI = GUICreate($Titel, 640, 375,0,25,$WS_POPUP, $WS_EX_TOPMOST + $WS_EX_MDICHILD + $WS_EX_LAYERED,$hGUI) ;<---------
    $hGUI = GUICreate($Titel, 640, 375,0,25) ;,$WS_POPUP, $WS_EX_TOPMOST + $WS_EX_MDICHILD + $WS_EX_LAYERED,$mGUI)
    GUISetBkColor (0xFFFFFF)
    GUICtrlCreatePic("BK.gif", 0, 0, 640, 400)
    GUICtrlSetState(-1, $GUI_DISABLE)

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

    $Button[0] = GUICtrlCreateButton ("1 Spieler",250,100,140,50)
    GUICtrlSetColor (-1,0xFF0000)
    GUICtrlSetFont(-1, 18, 400, 0, "Ellis")
    ;GUICtrlSetOnEvent (-1,"_info_button")
    $Button[1] = GUICtrlCreateButton ("2 Spieler",250,170,140,50)
    GUICtrlSetColor (-1,0xFF0000)
    GUICtrlSetFont(-1, 18, 400, 0, "Ellis")
    ;GUICtrlSetOnEvent (-1,"_info_button")

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

    GUISetState (@SW_SHOW)

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

    For $move_in = 0 To 400 ;Step 20 <------------ damit die buttons nicht so rasen

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

    ControlMove("","",$Button[0], -150 + $move_in, 100)
    ControlMove("","",$Button[1], 650 - $move_in, 170)

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

    Sleep (10)

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

    Next

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

    While 1 ;<---------- damit die GUI nicht sofort wieder geschlossen wird
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]

    die Stellen an denen ich Änderungen vorgenommen habe

    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (1. April 2009 um 21:51)