hi Lute bräuchte mal wieder kleine hilfe von euch

  • Und zwar geht es darum wenn ich auf den Bottun (option) gehe kommt zwar das Menü aber ich kann es nicht anklicken es geht gleich wieder zu weiss nicht mehr weiter.
    die bilder sind mit im anhang und der login der als erstes aufgeht bitte ignorieren danke. mir geht es nur ums Menü Option

    Spoiler anzeigen
    [autoit]


    #include-once
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #include <ListViewConstants.au3>
    #include <EditConstants.au3>
    #include <GuiListView.au3>
    #include <TabConstants.au3>
    #include <IE.au3>
    #NoTrayIcon
    #EndRegion ###

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

    Dim $IDcode[7]
    $IDcode[0] = Random(1, 1000000000, 1)
    $IDcode[1] = Random(1, 100, 1) *25 /125*100
    $IDcode[2] = @DesktopWidth / 2 - (451 / 2)
    $IDcode[3] = @DesktopHeight / 2 - (150 / 2)
    $IDcode[4] = False
    $IDcode[5] = False
    $IDcode[6] = False
    #Region ### START Koda GUI section ### Form=
    $LenuxLogin = GUICreate("",451 ,150,$IDcode[2], $IDcode[3], $WS_POPUP)
    _Ecken($LenuxLogin ,0, 0,25, 25)
    GUISetBkColor(0x919192)
    Trayseticon("Data\Imges\icon\icon.ico")
    Guiseticon("Data\Imges\icon\icon.ico")
    $IDcodeInput_01 = GUICtrlCreateInput($IDcode[0], 63, 57, 138, 20, $ES_CENTER)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x4e4e4e)
    $IDcodeInput_02 = GUICtrlCreateInput($IDcode[1], 239, 57, 138, 21, $ES_CENTER);BitOR($ES_PASSWORD)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x4e4e4e)
    $Login = GUICtrlCreatePic(@ScriptDir & "\Image\default\4.gif", 148, 96, 154, 28, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUICtrlCreatePic(@ScriptDir & "\Image\default\1.gif", 0, 0, 450, 20,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreatePic(@ScriptDir & "\Image\default\2.gif", 0, 20,450, 110,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreatePic(@ScriptDir & "\Image\default\3.gif", 0, 130,450, 20,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    $logo = GUICtrlCreatePic(@ScriptDir & "\Data\Imges\styl\default\logo.jpg", 0, 50, 450, 150,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreateLabel("",0,0,1000,800,0,$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    #Region ### START Koda GUI section ### Form=
    $LenuxAdmin = GUICreate("", 451, 150, $IDcode[2], $IDcode[3], $WS_POPUP)
    _Ecken($LenuxAdmin,0, 0,25, 25)
    GUISetBkColor(0x919192)
    Trayseticon("Data\Imges\icon\icon.ico")
    Guiseticon("Data\Imges\icon\icon.ico")
    $X = GUICtrlCreatePic(@ScriptDir & "\Image\default\01.gif", 425, 0, 28, 20)
    Dim $Option[5]
    $Option[0] = GUICtrlCreatePic(@ScriptDir & "\Image\default\03.gif", 1, 20, 151, 15)
    $Option[1] = GUICtrlCreatePic(@ScriptDir & "\Image\default\04.gif", 1, 37, 76, 41)
    GUICtrlSetState($Option[1],$GUI_hide)
    $Option[2] = GUICtrlCreatePic(@ScriptDir & "\Image\default\05.gif", 1, 78, 76, 41)
    GUICtrlSetState($Option[2],$GUI_Hide)
    $Option[3] = GUICtrlCreatePic(@ScriptDir & "\Image\default\06.gif", 77, 37, 76, 41)
    GUICtrlSetState($Option[3],$GUI_Hide)
    $Option[4] = GUICtrlCreatePic(@ScriptDir & "\Image\default\07.gif", 77, 78, 76, 41)
    GUICtrlSetState($Option[4],$GUI_Hide)
    GUICtrlCreatePic(@ScriptDir & "\Image\default\1.gif", 0, 0, 450, 20,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreatePic(@ScriptDir & "\Image\default\5.gif", 0, 20,450, 16,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreatePic(@ScriptDir & "\Image\default\6.gif", 0, 36,450, 94,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreatePic(@ScriptDir & "\Image\default\7.gif", 0, 130,450, 20,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreateLabel("",0,0,1000,800,0,$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUISetState(@SW_SHOW,$LenuxAdmin)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    If _Over($LenuxAdmin, $Option[0]) Then
    If $IDcode[5] = False Then
    GUICtrlSetState($Option[1],$GUI_Show)
    GUICtrlSetState($Option[2],$GUI_Show)
    GUICtrlSetState($Option[3],$GUI_Show)
    GUICtrlSetState($Option[4],$GUI_Show)
    GUICtrlSetImage($Option[0], @ScriptDir & "\Image\default\03.gif")
    $IDcode[5] = True
    EndIf
    Else
    If $IDcode[5] = True Then
    GUICtrlSetState($Option[1],$GUI_Hide)
    GUICtrlSetState($Option[2],$GUI_Hide)
    GUICtrlSetState($Option[3],$GUI_Hide)
    GUICtrlSetState($Option[4],$GUI_Hide)
    GUICtrlSetImage($Option[0], @ScriptDir & "\Image\default\03.gif")
    $IDcode[5] = False

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

    EndIf
    EndIf

    If _Over($LenuxAdmin, $X) Then
    If $IDcode[4] = False Then
    GUICtrlSetImage($X, @ScriptDir & "\Image\default\02.gif")
    $IDcode[4] = True
    EndIf
    Else
    If $IDcode[4] = True Then
    GUICtrlSetImage($X, @ScriptDir & "\Image\default\01.gif")
    $IDcode[4] = False
    EndIf
    EndIf
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[1]
    Case $LenuxLogin ; Loginfenster
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $LenuxLogin, "int", 400, "long", 0x00050010);Slide nach unten aus
    Exit
    EndSwitch
    Case $LenuxAdmin ;Adminfenster
    Switch $nMsg[0]
    Case $Option[1]
    MsgBox(4096, "Test", "This box will time out in 10 seconds", 10)
    Case $GUI_EVENT_CLOSE, $X
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $LenuxAdmin, "int", 400, "long", 0x00050010);Slide nach unten aus
    GUISetState(@SW_HIDE, $LenuxAdmin)

    EndSwitch

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

    EndSwitch
    WEnd

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

    #cs
    ****************************************************************************************
    ****************************************************************************************
    ****************************************************************************************
    ******** ********
    ******** ********
    ******** Eckenscript ********
    ******** ********
    ******** ********
    ****************************************************************************************
    ****************************************************************************************
    ****************************************************************************************
    #ce
    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 ;==>_Ecken

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

    Func _Over($hWnd, $hObj)
    Local $Curser
    $Curser = GUIGetCursorInfo($hWnd)
    If $Curser[4] = $hObj Then
    Return True
    Else
    Return False
    EndIf
    EndFunc ;==>_Over

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • Also wenn ich das richtig sehe, fragst du in einer While 1 immer ab, ob die Maus auf dem Button ist. Wenn ja, dann soll das Script das Menü anzeigen. Aber in dieser if Abfrage gibt es ja auch ein else, bei dem das Menü wieder versteckt wird. Das heißt immer wenn die Maus nicht mehr auf dem Button ist geht das Menü wieder weg...Das heißt wenn du das else in Z. 90 bis 100 löschen würdest, würde das Menü dableiben, aber auch nicht mehr weggehen wenn du es mit der Maus verlässt. Das musst du dann halt noch abfragen.

  • werde ich mal gleich ausprobieren, Ja so wie du es sagts geht es aber habe es jetzt so gemacht nur jetzt flackertrs etwas könnte da noch mal einer drüber schauen.

    Danke

    Spoiler anzeigen
    [autoit]


    #include-once
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #include <ListViewConstants.au3>
    #include <EditConstants.au3>
    #include <GuiListView.au3>
    #include <TabConstants.au3>
    #include <IE.au3>
    #NoTrayIcon
    #EndRegion ###

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

    Dim $IDcode[7]
    $IDcode[0] = Random(1, 1000000000, 1)
    $IDcode[1] = Random(1, 100, 1) *25 /125*100
    $IDcode[2] = @DesktopWidth / 2 - (451 / 2)
    $IDcode[3] = @DesktopHeight / 2 - (150 / 2)
    $IDcode[4] = False
    $IDcode[5] = False
    $IDcode[6] = False
    #Region ### START Koda GUI section ### Form=
    $LenuxLogin = GUICreate("",451 ,150,$IDcode[2], $IDcode[3], $WS_POPUP)
    _Ecken($LenuxLogin ,0, 0,25, 25)
    GUISetBkColor(0x919192)
    Trayseticon("Data\Imges\icon\icon.ico")
    Guiseticon("Data\Imges\icon\icon.ico")
    $IDcodeInput_01 = GUICtrlCreateInput($IDcode[0], 63, 57, 138, 20, $ES_CENTER)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x4e4e4e)
    $IDcodeInput_02 = GUICtrlCreateInput($IDcode[1], 239, 57, 138, 21, $ES_CENTER);BitOR($ES_PASSWORD)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x4e4e4e)
    $Login = GUICtrlCreatePic(@ScriptDir & "\Image\default\4.gif", 148, 96, 154, 28, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUICtrlCreatePic(@ScriptDir & "\Image\default\1.gif", 0, 0, 450, 20,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreatePic(@ScriptDir & "\Image\default\2.gif", 0, 20,450, 110,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreatePic(@ScriptDir & "\Image\default\3.gif", 0, 130,450, 20,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    $logo = GUICtrlCreatePic(@ScriptDir & "\Data\Imges\styl\default\logo.jpg", 0, 50, 450, 150,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreateLabel("",0,0,1000,800,0,$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    #Region ### START Koda GUI section ### Form=
    $LenuxAdmin = GUICreate("", 451, 150, $IDcode[2], $IDcode[3], $WS_POPUP)
    _Ecken($LenuxAdmin,0, 0,25, 25)
    GUISetBkColor(0x919192)
    Trayseticon("Data\Imges\icon\icon.ico")
    Guiseticon("Data\Imges\icon\icon.ico")
    $X = GUICtrlCreatePic(@ScriptDir & "\Image\default\01.gif", 425, 0, 28, 20)
    Dim $Option[5]
    $Option[0] = GUICtrlCreatePic(@ScriptDir & "\Image\default\03.gif", 1, 20, 151, 15)
    $Option[1] = GUICtrlCreatePic(@ScriptDir & "\Image\default\04.gif", 1, 37, 76, 41)
    GUICtrlSetState($Option[1],$GUI_hide)
    $Option[2] = GUICtrlCreatePic(@ScriptDir & "\Image\default\05.gif", 1, 78, 76, 41)
    GUICtrlSetState($Option[2],$GUI_Hide)
    $Option[3] = GUICtrlCreatePic(@ScriptDir & "\Image\default\06.gif", 77, 37, 76, 41)
    GUICtrlSetState($Option[3],$GUI_Hide)
    $Option[4] = GUICtrlCreatePic(@ScriptDir & "\Image\default\07.gif", 77, 78, 76, 41)
    GUICtrlSetState($Option[4],$GUI_Hide)
    GUICtrlCreatePic(@ScriptDir & "\Image\default\1.gif", 0, 0, 450, 20,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreatePic(@ScriptDir & "\Image\default\5.gif", 0, 20,450, 16,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreatePic(@ScriptDir & "\Image\default\6.gif", 0, 36,450, 94,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreatePic(@ScriptDir & "\Image\default\7.gif", 0, 130,450, 20,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_DISABLED))
    GUICtrlCreateLabel("",0,0,1000,800,0,$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUISetState(@SW_SHOW,$LenuxAdmin)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    If _Over($LenuxAdmin, $Option[0]) Then
    If $IDcode[5] = False Then
    GUICtrlSetState($Option[1],$GUI_Hide)
    GUICtrlSetState($Option[2],$GUI_Hide)
    GUICtrlSetState($Option[3],$GUI_Hide)
    GUICtrlSetState($Option[4],$GUI_Hide)
    GUICtrlSetImage($Option[0], @ScriptDir & "\Image\default\03.gif")
    $IDcode[5] = False
    EndIf

    EndIf
    If _Over($LenuxAdmin, $Option[0]) Then
    If $IDcode[5] = False Then
    GUICtrlSetState($Option[1],$GUI_Show)
    GUICtrlSetState($Option[2],$GUI_Show)
    GUICtrlSetState($Option[3],$GUI_Show)
    GUICtrlSetState($Option[4],$GUI_Show)
    GUICtrlSetImage($Option[0], @ScriptDir & "\Image\default\03.gif")
    $IDcode[5] = False
    EndIf
    EndIf

    If _Over($LenuxAdmin, $X) Then
    If $IDcode[4] = False Then
    GUICtrlSetImage($X, @ScriptDir & "\Image\default\02.gif")
    $IDcode[4] = True
    EndIf
    Else
    If $IDcode[4] = True Then
    GUICtrlSetImage($X, @ScriptDir & "\Image\default\01.gif")
    $IDcode[4] = False
    EndIf
    EndIf
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[1]
    Case $LenuxLogin ; Loginfenster
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $LenuxLogin, "int", 400, "long", 0x00050010);Slide nach unten aus
    Exit
    EndSwitch
    Case $LenuxAdmin ;Adminfenster
    Switch $nMsg[0]
    Case $Option[1]
    MsgBox(4096, "Test", "This box will time out in 10 seconds", 10)
    Case $GUI_EVENT_CLOSE, $X
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $LenuxAdmin, "int", 400, "long", 0x00050010);Slide nach unten aus
    GUISetState(@SW_HIDE, $LenuxAdmin)

    EndSwitch

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

    EndSwitch
    WEnd

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

    #cs
    ****************************************************************************************
    ****************************************************************************************
    ****************************************************************************************
    ******** ********
    ******** ********
    ******** Eckenscript ********
    ******** ********
    ******** ********
    ****************************************************************************************
    ****************************************************************************************
    ****************************************************************************************
    #ce
    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 ;==>_Ecken

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

    Func _Over($hWnd, $hObj)
    Local $Curser
    $Curser = GUIGetCursorInfo($hWnd)
    If $Curser[4] = $hObj Then
    Return True
    Else
    Return False
    EndIf
    EndFunc ;==>_Over

    [/autoit]

    Einmal editiert, zuletzt von Sirocool (17. Oktober 2010 um 00:08)

  • Du könntest wenn das Menü dargestellt wird einen Timer starten und ihn nach x-Sekunden abfragen. Wenn dann die Maus nicht mehr auf dem Button ist wird das Menü ausgeblendet.
    Hoffe ich hab das verstanden. Hab mir nämlich den SourceCode nicht angeschaut sondern mich nur auf RapIts Post verlassen.