Reinfolge von Buttons, Labels, etc.

  • Guten abend Com.

    Schnelle frage...

    kann ich eigentlich die reinfolge von buttons bildern und labels einstellen ?!
    sprich das ein button immer vorne ist auch wenn sich bilder dahinter bewegen...
    mein script:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>

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

    $PicMoveStatus = 0
    $GUI = GUICreate("", 289, 477, -1, -1,$WS_POPUP,$WS_EX_CONTROLPARENT)
    GUISetBkColor(0x000000)
    $Button1 = GUICtrlCreateButton("Undefined", 8, 456, 57, 17)
    $Pic1 = GUICtrlCreatePic("288 x 476.jpg", 0, 0, 289, 477,BitOR($WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic2 = GUICtrlCreatePic("Unbenannt.jpg",-16, 477, 313, 33);444 oben,477 Unten
    GUICtrlSetCursor(-1, 4)
    $Graphic1 = GUICtrlCreateGraphic(0, 430, 289, 28)
    GUICtrlSetCursor(-1, 4)
    ;~ $Label1 = GUICtrlCreateLabel("Label1", 56, 88, 36, 17,-1,$GUI_WS_EX_PARENTDRAG)
    ;~ GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

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

    GUISetState(@SW_SHOW)

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

    While 1
    $mMsg = GUIGetMsg()
    Switch $mMsg

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

    Case $Button1
    Exit

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

    EndSwitch

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

    _TET()
    WEnd

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

    Test

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

    Func _TET()
    $maus = MouseGetCursor()
    If $maus = 4 Then
    $PicMoveStatus = 1
    GUICtrlSetPos($Pic2,-16, 444);OBEN

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

    Else
    $PicMoveStatus = 0
    GUICtrlSetPos($Pic2,-16, 477);UNTEN

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

    EndIf
    EndFunc

    [/autoit]
  • Meinst Du es so?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>

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

    $PicMoveStatus = 0
    $GUI = GUICreate("", 289, 477, -1, -1,$WS_POPUP,$WS_EX_CONTROLPARENT)
    GUISetBkColor(0x000000)
    ;$Button1 = GUICtrlCreateButton("Undefined", 8, 456, 57, 17) ; auskommentiert
    $Pic1 = GUICtrlCreatePic("288 x 476.jpg", 0, 0, 289, 477,BitOR($WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic2 = GUICtrlCreatePic("Unbenannt.jpg",-16, 477, 313, 33);444 oben,477 Unten
    GUICtrlSetCursor(-1, 4)
    GUICtrlSetState(-1, $GUI_Disable) ; damit Button funktioniert
    $Graphic1 = GUICtrlCreateGraphic(0, 430, 289, 28)
    GUICtrlSetCursor(-1, 4)
    $Button1 = GUICtrlCreateButton("Undefined", 8, 456, 57, 17) ; hier eingefügt
    ;~ $Label1 = GUICtrlCreateLabel("Label1", 56, 88, 36, 17,-1,$GUI_WS_EX_PARENTDRAG)
    ;~ GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

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

    GUISetState(@SW_SHOW)

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

    While 1
    $mMsg = GUIGetMsg()
    Switch $mMsg

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

    Case $Button1
    Exit

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

    EndSwitch

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

    _TET()
    WEnd

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

    ;Test

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

    Func _TET()
    $maus = MouseGetCursor()
    If $maus = 4 Then
    $PicMoveStatus = 1
    GUICtrlSetPos($Pic2,-16, 444);OBEN

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

    Else
    $PicMoveStatus = 0
    GUICtrlSetPos($Pic2,-16, 477);UNTEN

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

    EndIf
    EndFunc

    [/autoit]


    Gruß Andy

    Einmal editiert, zuletzt von AndyTR (10. Oktober 2011 um 01:50)

  • Hallo SionS,

    Zitat

    Wird ein Bild als Hintergrundbild genutzt, während die anderen Controls dieses quasi überlappen, so ist es wichtig, das Bild-Control zu deaktivieren und es nach den anderen Controls zu erstellen: GuiCtrlSetState(-1,$GUI_DISABLE).

    Quelle: dt. Hilfe

    mfg autoBert

    • Offizieller Beitrag

    Versuch's mal mit $GUI_FOCUS:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>

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

    $PicMoveStatus = 0
    $GUI = GUICreate("", 289, 477, -1, -1, $WS_POPUP, $WS_EX_CONTROLPARENT)
    GUISetBkColor(0x000000)
    $Button1 = GUICtrlCreateButton("Undefined", 8, 456, 57, 17)
    $Pic1 = GUICtrlCreatePic("288 x 476.jpg", 0, 0, 289, 477, BitOR($WS_GROUP, $WS_CLIPSIBLINGS))
    $Pic2 = GUICtrlCreatePic("Unbenannt.jpg", -16, 477, 313, 33);444 oben,477 Unten
    GUICtrlSetCursor(-1, 4)
    $Graphic1 = GUICtrlCreateGraphic(0, 430, 289, 28)
    GUICtrlSetCursor(-1, 4)
    ;~ $Label1 = GUICtrlCreateLabel("Label1", 56, 88, 36, 17,-1,$GUI_WS_EX_PARENTDRAG)
    ;~ GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

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

    GUISetState(@SW_SHOW)

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

    While 1
    $mMsg = GUIGetMsg()
    Switch $mMsg

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

    Case $Button1
    Exit

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

    EndSwitch

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

    _TET()
    WEnd

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

    Func _TET()
    $maus = MouseGetCursor()
    If $maus = 4 Then
    $PicMoveStatus = 1
    GUICtrlSetPos($Pic2, -16, 444);OBEN
    GUICtrlSetState($Button1, $GUI_FOCUS)

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

    Else
    $PicMoveStatus = 0
    GUICtrlSetPos($Pic2, -16, 477);UNTEN
    GUICtrlSetState($Button1, $GUI_FOCUS)

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

    EndIf
    EndFunc ;==>_TET

    [/autoit]