Slider Zentrierung & Abstand des GUI'S

  • So ich bins wieder :)

    Diesmal habe ich ein bessere Idee als mit dem komplizierten _GDI kram ^^

    Und zwar möchte ich mein GUI verschieden ausrichtigen können.
    Sagen wir ich wähle in der ComboBox "rechts" aus, so soll das GUI sofort nach Rechts an den Bildschirm gedockt werden.
    Den abstand des Bildschirm soll sich verändern wenn man am Slider rumspielt.
    Bei der Zentrierung genau das gleiche.So regelt man , ob das GUI rechts in der mitte sein soll , oder weiter oben bzw. unten.

    Wenn Leute RocketDock haben , die wissen was ich meine :)

    Hier mein Script.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <SliderConstants.au3>
    #include <WindowsConstants.au3>
    _Einstellungen()

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

    Func _Einstellungen()
    $vGUIColor = 0x161616
    $INI = @ScriptDir & "\Data\Einstellungen.ini"
    $setting1 = IniRead($INI, "Setting 1", "run", "")
    $setting2 = IniRead($INI, "Setting 2", "run", "")
    If Not FileExists(@ScriptDir & "\Data\") Then
    DirCreate(@ScriptDir & "\Data\")
    EndIf
    If Not FileExists(@ScriptDir & "\Data\Bilder\") Then
    DirCreate(@ScriptDir & "\Data\Bilder")
    EndIf
    If Not FileExists($INI) Then
    IniWrite($INI, "Copyright", "Titel", "(C) Alexander F. 2010 - 2011")
    EndIf

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

    Opt("GUIOnEventMode", 0)

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

    _SM_SetVisualStyle(1)
    $settinggui = GUICreate("Settings", 518, 190, -1, -1, -1, BitOR(0x00000080, 0x00000010))

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

    GUISetBkColor($vGUIColor, $settinggui)
    $cancel = GUICtrlCreateButton("Exit", 263, 160, 247, 20, 0)
    $save = GUICtrlCreateButton("Save", 10, 160, 247, 20, 0)
    _SM_SetVisualStyle(0)
    $settings = GUICtrlCreateGroup("Einstellungen", 8, 8, 497, 145)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $label123 = GUICtrlCreateLabel("Allgemein", 16, 32, 54, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $modus1 = GUICtrlCreateRadio("Setting 1 ?", 16, 56, 97, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $modus2 = GUICtrlCreateRadio("Setting 2 ?", 16, 80, 97, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Icon1 = GUICtrlCreateIcon("", -0, 32, 104, 32, 32)
    $Label1 = GUICtrlCreateLabel("Ausrichtung des Docks", 128, 32, 114, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    _SM_SetVisualStyle(1)
    $Combo1 = GUICtrlCreateCombo("Links", 256, 24, 129, 25)
    GUICtrlSetData(-1, "Rechts")
    $Label2 = GUICtrlCreateLabel("Zentrierung", 136, 75, 61, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Slider1 = GUICtrlCreateSlider(240, 72, 140, 21, $TBS_NOTICKS)
    GUICtrlSetBkColor($Slider1, $vGUIColor)
    $Slider2 = GUICtrlCreateSlider(256, 112, 140, 21, $TBS_NOTICKS)
    GUICtrlSetBkColor($Slider2, $vGUIColor)
    _SM_SetVisualStyle(0)
    $Label3 = GUICtrlCreateLabel("Abstand des Bildschirms", 136, 112, 118, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    If $setting1 = "yes" Then
    GUICtrlSetState($modus1, 1)
    ;~ GUICtrlSetState($modus1, $GUI_DISABLE)
    EndIf

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

    If $setting2 = "yes" Then
    GUICtrlSetState($modus2, 1)
    ;~ GUICtrlSetState($modus2, $GUI_DISABLE)
    EndIf

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

    GUISetState(@SW_SHOW, $settinggui)

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

    While 1
    Switch GUIGetMsg($settinggui)
    Case -3
    ExitLoop
    Case $cancel
    ExitLoop
    Case $modus1
    BitAND(GUICtrlRead($modus1), $GUI_CHECKED) ;= $GUI_CHECKED
    Case $modus2
    BitAND(GUICtrlRead($modus2), $GUI_CHECKED) ;= $GUI_CHECKED

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

    Case $save

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

    If GUICtrlRead($modus1) = 1 Then
    IniWrite($INI, "Setting 1", "run", "yes")
    $setting1 = "yes"
    Else
    IniWrite($INI, "Setting 1", "run", "no")
    $setting1 = "no"
    EndIf

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

    If GUICtrlRead($modus2) = 1 Then
    IniWrite($INI, "Setting 2", "run", "yes")
    $setting2 = "yes"
    Else
    IniWrite($INI, "Setting 2", "run", "no")
    $setting2 = "no"
    EndIf

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

    ExitLoop
    ;Exit

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

    EndSwitch
    Sleep(10)
    WEnd

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

    GUIDelete($settinggui)
    Sleep(100)

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

    ;~ GUISetState(@SW_ENABLE, $hGui)
    ;~ GUISetState(@SW_SHOW, $hGui)

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

    _SM_SetVisualStyle(1)
    EndFunc ;==>_Einstellungen

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

    Func _SM_SetVisualStyle($b_Enable);turn on or of visual styles, able to color groups, checkboxes
    Return DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", $b_Enable * 7) ; 7 = Enable, 0 = Disable
    EndFunc ;==>_SM_SetVisualStyle

    [/autoit]
  • das mit der combo schonmal eingebaut:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <SliderConstants.au3>
    #include <WindowsConstants.au3>
    _Einstellungen()

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

    Func _Einstellungen()
    $vGUIColor = 0x161616
    $INI = @ScriptDir & "\Data\Einstellungen.ini"
    $setting1 = IniRead($INI, "Setting 1", "run", "")
    $setting2 = IniRead($INI, "Setting 2", "run", "")
    If Not FileExists(@ScriptDir & "\Data\") Then
    DirCreate(@ScriptDir & "\Data\")
    EndIf
    If Not FileExists(@ScriptDir & "\Data\Bilder\") Then
    DirCreate(@ScriptDir & "\Data\Bilder")
    EndIf
    If Not FileExists($INI) Then
    IniWrite($INI, "Copyright", "Titel", "(C) Alexander F. 2010 - 2011")
    EndIf

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

    Opt("GUIOnEventMode", 0)

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

    _SM_SetVisualStyle(1)
    $settinggui = GUICreate("Settings", 518, 190, -1, -1, -1, BitOR(0x00000080, 0x00000010))

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

    GUISetBkColor($vGUIColor, $settinggui)
    $cancel = GUICtrlCreateButton("Exit", 263, 160, 247, 20, 0)
    $save = GUICtrlCreateButton("Save", 10, 160, 247, 20, 0)
    _SM_SetVisualStyle(0)
    $settings = GUICtrlCreateGroup("Einstellungen", 8, 8, 497, 145)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $label123 = GUICtrlCreateLabel("Allgemein", 16, 32, 54, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $modus1 = GUICtrlCreateRadio("Setting 1 ?", 16, 56, 97, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $modus2 = GUICtrlCreateRadio("Setting 2 ?", 16, 80, 97, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Icon1 = GUICtrlCreateIcon("", -0, 32, 104, 32, 32)
    $Label1 = GUICtrlCreateLabel("Ausrichtung des Docks", 128, 32, 114, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    _SM_SetVisualStyle(1)
    $Combo1 = GUICtrlCreateCombo("Links", 256, 24, 129, 25)
    GUICtrlSetData(-1, "Rechts")
    $Label2 = GUICtrlCreateLabel("Zentrierung", 136, 75, 61, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Slider1 = GUICtrlCreateSlider(240, 72, 140, 21, $TBS_NOTICKS)
    GUICtrlSetBkColor($Slider1, $vGUIColor)
    $Slider2 = GUICtrlCreateSlider(256, 112, 140, 21, $TBS_NOTICKS)
    GUICtrlSetBkColor($Slider2, $vGUIColor)
    _SM_SetVisualStyle(0)
    $Label3 = GUICtrlCreateLabel("Abstand des Bildschirms", 136, 112, 118, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    If $setting1 = "yes" Then
    GUICtrlSetState($modus1, 1)
    ;~ GUICtrlSetState($modus1, $GUI_DISABLE)
    EndIf

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

    If $setting2 = "yes" Then
    GUICtrlSetState($modus2, 1)
    ;~ GUICtrlSetState($modus2, $GUI_DISABLE)
    EndIf

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

    GUISetState(@SW_SHOW, $settinggui)

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

    While 1
    Switch GUIGetMsg($settinggui)
    Case -3
    ExitLoop
    Case $cancel
    ExitLoop
    Case $modus1
    BitAND(GUICtrlRead($modus1), $GUI_CHECKED) ;= $GUI_CHECKED
    Case $modus2
    BitAND(GUICtrlRead($modus2), $GUI_CHECKED) ;= $GUI_CHECKED

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

    Case $save

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

    If GUICtrlRead($modus1) = 1 Then
    IniWrite($INI, "Setting 1", "run", "yes")
    $setting1 = "yes"
    Else
    IniWrite($INI, "Setting 1", "run", "no")
    $setting1 = "no"
    EndIf

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

    If GUICtrlRead($modus2) = 1 Then
    IniWrite($INI, "Setting 2", "run", "yes")
    $setting2 = "yes"
    Else
    IniWrite($INI, "Setting 2", "run", "no")
    $setting2 = "no"
    EndIf

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

    ExitLoop
    ;Exit
    Case $Combo1
    Switch GUICtrlRead($Combo1)
    Case "Rechts"
    WinMove("Settings", "", @DesktopWidth - 518, (@DesktopHeight - 190) / 2)
    Case "Links"
    WinMove("Settings", "", 0, (@DesktopHeight - 190) / 2)
    EndSwitch

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

    EndSwitch
    Sleep(10)
    WEnd

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

    GUIDelete($settinggui)
    Sleep(100)

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

    ;~ GUISetState(@SW_ENABLE, $hGui)
    ;~ GUISetState(@SW_SHOW, $hGui)

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

    _SM_SetVisualStyle(1)
    EndFunc ;==>_Einstellungen

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

    Func _SM_SetVisualStyle($b_Enable);turn on or of visual styles, able to color groups, checkboxes
    Return DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", $b_Enable * 7) ; 7 = Enable, 0 = Disable
    EndFunc ;==>_SM_SetVisualStyle

    [/autoit]

    der slider funktioniert ja im prinzip genauso...

  • Naja , ich wollte es mit dem Slider probieren , klappte aber nicht so.

    Also erstmal danke mit der Comobox :)

    Beim Slider , sollte sich das Gui ja flüssig bewegen können und nicht abschnittweiße ^^

  • so in etwa?^^

    Spoiler anzeigen
    [autoit]

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

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

    Global $Combo1, $Slider2
    _Einstellungen()

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

    Func _Einstellungen()
    $vGUIColor = 0x161616
    $INI = @ScriptDir & "\Data\Einstellungen.ini"
    $setting1 = IniRead($INI, "Setting 1", "run", "")
    $setting2 = IniRead($INI, "Setting 2", "run", "")
    If Not FileExists(@ScriptDir & "\Data\") Then
    DirCreate(@ScriptDir & "\Data\")
    EndIf
    If Not FileExists(@ScriptDir & "\Data\Bilder\") Then
    DirCreate(@ScriptDir & "\Data\Bilder")
    EndIf
    If Not FileExists($INI) Then
    IniWrite($INI, "Copyright", "Titel", "(C) Alexander F. 2010 - 2011")
    EndIf

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

    Opt("GUIOnEventMode", 0)

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

    _SM_SetVisualStyle(1)
    $settinggui = GUICreate("Settings", 518, 190, -1, -1, -1, BitOR(0x00000080, 0x00000010))

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

    GUISetBkColor($vGUIColor, $settinggui)
    $cancel = GUICtrlCreateButton("Exit", 263, 160, 247, 20, 0)
    $save = GUICtrlCreateButton("Save", 10, 160, 247, 20, 0)
    _SM_SetVisualStyle(0)
    $settings = GUICtrlCreateGroup("Einstellungen", 8, 8, 497, 145)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $label123 = GUICtrlCreateLabel("Allgemein", 16, 32, 54, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $modus1 = GUICtrlCreateRadio("Setting 1 ?", 16, 56, 97, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $modus2 = GUICtrlCreateRadio("Setting 2 ?", 16, 80, 97, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Icon1 = GUICtrlCreateIcon("", -0, 32, 104, 32, 32)
    $Label1 = GUICtrlCreateLabel("Ausrichtung des Docks", 128, 32, 114, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    _SM_SetVisualStyle(1)
    $Combo1 = GUICtrlCreateCombo("Links", 256, 24, 129, 25)
    GUICtrlSetData(-1, "Rechts")
    $Label2 = GUICtrlCreateLabel("Zentrierung", 136, 75, 61, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Slider1 = GUICtrlCreateSlider(240, 72, 140, 21, $TBS_NOTICKS)
    GUICtrlSetBkColor($Slider1, $vGUIColor)
    $Slider2 = GUICtrlCreateSlider(256, 112, 140, 21, $TBS_NOTICKS)
    GUICtrlSetBkColor($Slider2, $vGUIColor)
    _SM_SetVisualStyle(0)
    $Label3 = GUICtrlCreateLabel("Abstand des Bildschirms", 136, 112, 118, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    If $setting1 = "yes" Then
    GUICtrlSetState($modus1, 1)
    ;~ GUICtrlSetState($modus1, $GUI_DISABLE)
    EndIf

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

    If $setting2 = "yes" Then
    GUICtrlSetState($modus2, 1)
    ;~ GUICtrlSetState($modus2, $GUI_DISABLE)
    EndIf

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

    GUISetState(@SW_SHOW, $settinggui)

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

    AdlibRegister("CheckSlider", 200); alle 200 millisekuden sollte genügen

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

    While 1
    Switch GUIGetMsg($settinggui)
    Case -3
    ExitLoop
    Case $cancel
    ExitLoop
    Case $modus1
    BitAND(GUICtrlRead($modus1), $GUI_CHECKED) ;= $GUI_CHECKED
    Case $modus2
    BitAND(GUICtrlRead($modus2), $GUI_CHECKED) ;= $GUI_CHECKED

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

    Case $save

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

    If GUICtrlRead($modus1) = 1 Then
    IniWrite($INI, "Setting 1", "run", "yes")
    $setting1 = "yes"
    Else
    IniWrite($INI, "Setting 1", "run", "no")
    $setting1 = "no"
    EndIf

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

    If GUICtrlRead($modus2) = 1 Then
    IniWrite($INI, "Setting 2", "run", "yes")
    $setting2 = "yes"
    Else
    IniWrite($INI, "Setting 2", "run", "no")
    $setting2 = "no"
    EndIf

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

    ExitLoop
    ;Exit
    Case $Combo1
    CheckSlider()
    EndSwitch
    Sleep(10)
    WEnd

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

    GUIDelete($settinggui)
    AdlibUnRegister("CheckSlider")
    Sleep(100)

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

    ;~ GUISetState(@SW_ENABLE, $hGui)
    ;~ GUISetState(@SW_SHOW, $hGui)

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

    _SM_SetVisualStyle(1)
    EndFunc ;==>_Einstellungen

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

    Func _SM_SetVisualStyle($b_Enable);turn on or of visual styles, able to color groups, checkboxes
    Return DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", $b_Enable * 7) ; 7 = Enable, 0 = Disable
    EndFunc ;==>_SM_SetVisualStyle

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

    Func CheckSlider()
    $read = GUICtrlRead($Slider2)
    Switch GUICtrlRead($Combo1)
    Case "Rechts"
    WinMove("Settings", "", @DesktopWidth - 518 - $read, (@DesktopHeight - 190) / 2)
    Case "Links"
    WinMove("Settings", "", 0 + $read, (@DesktopHeight - 190) / 2)
    EndSwitch
    EndFunc

    [/autoit]
  • Genau so ^^

    Ich habe genau das gleiche mal mit der Zentrierung versucht (damit ich es nach oben/unten verschieben kann)

    klappt aber net :D
    Die formel kenne ich auch nicht... Plöde.. (Das werde ich jetzt mal lernen)

    Spoiler anzeigen
    [autoit]

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

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

    Global $Combo1, $Slider2, $Slider1
    _Einstellungen()

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

    Func _Einstellungen()
    $vGUIColor = 0x161616
    $INI = @ScriptDir & "\Data\Einstellungen.ini"
    $setting1 = IniRead($INI, "Setting 1", "run", "")
    $setting2 = IniRead($INI, "Setting 2", "run", "")
    If Not FileExists(@ScriptDir & "\Data\") Then
    DirCreate(@ScriptDir & "\Data\")
    EndIf
    If Not FileExists(@ScriptDir & "\Data\Bilder\") Then
    DirCreate(@ScriptDir & "\Data\Bilder")
    EndIf
    If Not FileExists($INI) Then
    IniWrite($INI, "Copyright", "Titel", "(C) Alexander F. 2010 - 2011")
    EndIf

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

    Opt("GUIOnEventMode", 0)

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

    _SM_SetVisualStyle(1)
    $settinggui = GUICreate("Settings", 518, 190, -1, -1, -1, BitOR(0x00000080, 0x00000010))

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

    GUISetBkColor($vGUIColor, $settinggui)
    $cancel = GUICtrlCreateButton("Exit", 263, 160, 247, 20, 0)
    $save = GUICtrlCreateButton("Save", 10, 160, 247, 20, 0)
    _SM_SetVisualStyle(0)
    $settings = GUICtrlCreateGroup("Einstellungen", 8, 8, 497, 145)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $label123 = GUICtrlCreateLabel("Allgemein", 16, 32, 54, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $modus1 = GUICtrlCreateRadio("Setting 1 ?", 16, 56, 97, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $modus2 = GUICtrlCreateRadio("Setting 2 ?", 16, 80, 97, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Icon1 = GUICtrlCreateIcon("", -0, 32, 104, 32, 32)
    $Label1 = GUICtrlCreateLabel("Ausrichtung des Docks", 128, 32, 114, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    _SM_SetVisualStyle(1)
    $Combo1 = GUICtrlCreateCombo("Links", 256, 24, 129, 25)
    GUICtrlSetData(-1, "Rechts")
    $Label2 = GUICtrlCreateLabel("Zentrierung", 136, 75, 61, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Slider1 = GUICtrlCreateSlider(240, 72, 140, 21, $TBS_NOTICKS)
    GUICtrlSetBkColor($Slider1, $vGUIColor)
    $Slider2 = GUICtrlCreateSlider(256, 112, 140, 21, $TBS_NOTICKS)
    GUICtrlSetBkColor($Slider2, $vGUIColor)
    _SM_SetVisualStyle(0)
    $Label3 = GUICtrlCreateLabel("Abstand des Bildschirms", 136, 112, 118, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    If $setting1 = "yes" Then
    GUICtrlSetState($modus1, 1)
    ;~ GUICtrlSetState($modus1, $GUI_DISABLE)
    EndIf

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

    If $setting2 = "yes" Then
    GUICtrlSetState($modus2, 1)
    ;~ GUICtrlSetState($modus2, $GUI_DISABLE)
    EndIf

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

    GUISetState(@SW_SHOW, $settinggui)

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

    AdlibRegister("CheckSlider", 200); alle 200 millisekuden sollte genügen

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

    While 1
    Switch GUIGetMsg($settinggui)
    Case -3
    ExitLoop
    Case $cancel
    ExitLoop
    Case $modus1
    BitAND(GUICtrlRead($modus1), $GUI_CHECKED) ;= $GUI_CHECKED
    Case $modus2
    BitAND(GUICtrlRead($modus2), $GUI_CHECKED) ;= $GUI_CHECKED

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

    Case $save

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

    If GUICtrlRead($modus1) = 1 Then
    IniWrite($INI, "Setting 1", "run", "yes")
    $setting1 = "yes"
    Else
    IniWrite($INI, "Setting 1", "run", "no")
    $setting1 = "no"
    EndIf

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

    If GUICtrlRead($modus2) = 1 Then
    IniWrite($INI, "Setting 2", "run", "yes")
    $setting2 = "yes"
    Else
    IniWrite($INI, "Setting 2", "run", "no")
    $setting2 = "no"
    EndIf

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

    ExitLoop
    ;Exit
    Case $Combo1
    CheckSlider()
    CheckSlider2()
    EndSwitch
    Sleep(10)
    WEnd

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

    GUIDelete($settinggui)
    AdlibUnRegister("CheckSlider")
    Sleep(100)

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

    ;~ GUISetState(@SW_ENABLE, $hGui)
    ;~ GUISetState(@SW_SHOW, $hGui)

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

    _SM_SetVisualStyle(1)
    EndFunc ;==>_Einstellungen

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

    Func _SM_SetVisualStyle($b_Enable);turn on or of visual styles, able to color groups, checkboxes
    Return DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", $b_Enable * 7) ; 7 = Enable, 0 = Disable
    EndFunc ;==>_SM_SetVisualStyle

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

    Func CheckSlider()
    $read = GUICtrlRead($Slider2)
    Switch GUICtrlRead($Combo1)
    Case "Rechts"
    WinMove("Settings", "", @DesktopWidth - 518 - $read, (@DesktopHeight - 190) / 2)
    Case "Links"
    WinMove("Settings", "", 0 + $read, (@DesktopHeight - 190) / 2)
    EndSwitch
    EndFunc

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

    Func CheckSlider2()
    $read2 = GUICtrlRead($Slider1)
    Switch GUICtrlRead($Combo1)
    Case "Rechts"
    WinMove("Settings", "", ) ; Keine ahnung wie die formale ist
    Case "Links"
    WinMove("Settings", "", "") ; Keine ahnung wie die formale ist
    EndSwitch
    EndFunc

    [/autoit]
  • so z.b.

    Spoiler anzeigen
    [autoit]

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

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

    Global $Combo1, $Slider1, $Slider2
    _Einstellungen()

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

    Func _Einstellungen()
    $vGUIColor = 0x161616
    $INI = @ScriptDir & "\Data\Einstellungen.ini"
    $setting1 = IniRead($INI, "Setting 1", "run", "")
    $setting2 = IniRead($INI, "Setting 2", "run", "")
    If Not FileExists(@ScriptDir & "\Data\") Then
    DirCreate(@ScriptDir & "\Data\")
    EndIf
    If Not FileExists(@ScriptDir & "\Data\Bilder\") Then
    DirCreate(@ScriptDir & "\Data\Bilder")
    EndIf
    If Not FileExists($INI) Then
    IniWrite($INI, "Copyright", "Titel", "(C) Alexander F. 2010 - 2011")
    EndIf

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

    Opt("GUIOnEventMode", 0)

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

    _SM_SetVisualStyle(1)
    $settinggui = GUICreate("Settings", 518, 190, -1, -1, -1, BitOR(0x00000080, 0x00000010))

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

    GUISetBkColor($vGUIColor, $settinggui)
    $cancel = GUICtrlCreateButton("Exit", 263, 160, 247, 20, 0)
    $save = GUICtrlCreateButton("Save", 10, 160, 247, 20, 0)
    _SM_SetVisualStyle(0)
    $settings = GUICtrlCreateGroup("Einstellungen", 8, 8, 497, 145)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $label123 = GUICtrlCreateLabel("Allgemein", 16, 32, 54, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $modus1 = GUICtrlCreateRadio("Setting 1 ?", 16, 56, 97, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $modus2 = GUICtrlCreateRadio("Setting 2 ?", 16, 80, 97, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Icon1 = GUICtrlCreateIcon("", -0, 32, 104, 32, 32)
    $Label1 = GUICtrlCreateLabel("Ausrichtung des Docks", 128, 32, 114, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    _SM_SetVisualStyle(1)
    $Combo1 = GUICtrlCreateCombo("Links", 256, 24, 129, 25)
    GUICtrlSetData(-1, "Rechts")
    $Label2 = GUICtrlCreateLabel("Zentrierung", 136, 75, 61, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Slider1 = GUICtrlCreateSlider(240, 72, 140, 21, $TBS_NOTICKS)
    GUICtrlSetBkColor($Slider1, $vGUIColor)
    $Slider2 = GUICtrlCreateSlider(256, 112, 140, 21, $TBS_NOTICKS)
    GUICtrlSetBkColor($Slider2, $vGUIColor)
    _SM_SetVisualStyle(0)
    $Label3 = GUICtrlCreateLabel("Abstand des Bildschirms", 136, 112, 118, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    If $setting1 = "yes" Then
    GUICtrlSetState($modus1, 1)
    ;~ GUICtrlSetState($modus1, $GUI_DISABLE)
    EndIf

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

    If $setting2 = "yes" Then
    GUICtrlSetState($modus2, 1)
    ;~ GUICtrlSetState($modus2, $GUI_DISABLE)
    EndIf

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

    GUISetState(@SW_SHOW, $settinggui)

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

    AdlibRegister("MoveWindow", 200); alle 200 millisekuden sollte genügen

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

    While 1
    Switch GUIGetMsg($settinggui)
    Case -3
    ExitLoop
    Case $cancel
    ExitLoop
    Case $modus1
    BitAND(GUICtrlRead($modus1), $GUI_CHECKED) ;= $GUI_CHECKED
    Case $modus2
    BitAND(GUICtrlRead($modus2), $GUI_CHECKED) ;= $GUI_CHECKED

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

    Case $save

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

    If GUICtrlRead($modus1) = 1 Then
    IniWrite($INI, "Setting 1", "run", "yes")
    $setting1 = "yes"
    Else
    IniWrite($INI, "Setting 1", "run", "no")
    $setting1 = "no"
    EndIf

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

    If GUICtrlRead($modus2) = 1 Then
    IniWrite($INI, "Setting 2", "run", "yes")
    $setting2 = "yes"
    Else
    IniWrite($INI, "Setting 2", "run", "no")
    $setting2 = "no"
    EndIf

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

    ExitLoop
    ;Exit
    Case $Combo1
    MoveWindow()
    EndSwitch
    Sleep(10)
    WEnd

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

    GUIDelete($settinggui)
    AdlibUnRegister("MoveWindow")
    Sleep(100)

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

    ;~ GUISetState(@SW_ENABLE, $hGui)
    ;~ GUISetState(@SW_SHOW, $hGui)

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

    _SM_SetVisualStyle(1)
    EndFunc ;==>_Einstellungen

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

    Func _SM_SetVisualStyle($b_Enable);turn on or of visual styles, able to color groups, checkboxes
    Return DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", $b_Enable * 7) ; 7 = Enable, 0 = Disable
    EndFunc ;==>_SM_SetVisualStyle

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

    Func MoveWindow()
    $read1 = GUICtrlRead($Slider1)
    $read2 = GUICtrlRead($Slider2)
    Switch GUICtrlRead($Combo1)
    Case "Rechts"
    WinMove("Settings", "", @DesktopWidth - 518 - $read2, (@DesktopHeight - 190) * $read1 / 100)
    Case "Links"
    WinMove("Settings", "", $read2, (@DesktopHeight - 190) * $read1 / 100)
    EndSwitch
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Vielen herzlichen Dank :)

    Auf solche funktionen würde ich nie kommen... :(

    Danke danke danke :party:

    Gibt es eine möglichkeit , dass es noch weniger ruckelt ^^ ? So das sich das flüssig bewegt ?

    Sonst super Arbeit :)
    Dein name wird in meinem Projekt als Credits erscheinen ^^

  • Alles geht ;)

    Spoiler anzeigen
    [autoit]

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

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

    Global $Combo1, $Slider1, $Slider2
    _Einstellungen()

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

    Func _Einstellungen()
    $vGUIColor = 0x161616
    $INI = @ScriptDir & "\Data\Einstellungen.ini"
    $setting1 = IniRead($INI, "Setting 1", "run", "")
    $setting2 = IniRead($INI, "Setting 2", "run", "")
    If Not FileExists(@ScriptDir & "\Data\") Then
    DirCreate(@ScriptDir & "\Data\")
    EndIf
    If Not FileExists(@ScriptDir & "\Data\Bilder\") Then
    DirCreate(@ScriptDir & "\Data\Bilder")
    EndIf
    If Not FileExists($INI) Then
    IniWrite($INI, "Copyright", "Titel", "(C) Alexander F. 2010 - 2011")
    EndIf

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

    Opt("GUIOnEventMode", 0)

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

    _SM_SetVisualStyle(1)
    $settinggui = GUICreate("Settings", 518, 190, -1, -1, -1, BitOR(0x00000080, 0x00000010))

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

    GUISetBkColor($vGUIColor, $settinggui)
    $cancel = GUICtrlCreateButton("Exit", 263, 160, 247, 20, 0)
    $save = GUICtrlCreateButton("Save", 10, 160, 247, 20, 0)
    _SM_SetVisualStyle(0)
    $settings = GUICtrlCreateGroup("Einstellungen", 8, 8, 497, 145)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $label123 = GUICtrlCreateLabel("Allgemein", 16, 32, 54, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $modus1 = GUICtrlCreateRadio("Setting 1 ?", 16, 56, 97, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $modus2 = GUICtrlCreateRadio("Setting 2 ?", 16, 80, 97, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Icon1 = GUICtrlCreateIcon("", -0, 32, 104, 32, 32)
    $Label1 = GUICtrlCreateLabel("Ausrichtung des Docks", 128, 32, 114, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    _SM_SetVisualStyle(1)
    $Combo1 = GUICtrlCreateCombo("Links", 256, 24, 129, 25)
    GUICtrlSetData(-1, "Rechts")
    $Label2 = GUICtrlCreateLabel("Zentrierung", 136, 75, 61, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Slider1 = GUICtrlCreateSlider(240, 72, 140, 21, $TBS_NOTICKS)
    GUICtrlSetBkColor($Slider1, $vGUIColor)
    GUICtrlSetLimit($Slider1, @DesktopHeight)
    $Slider2 = GUICtrlCreateSlider(256, 112, 140, 21, $TBS_NOTICKS)
    GUICtrlSetBkColor($Slider2, $vGUIColor)
    _SM_SetVisualStyle(0)
    $Label3 = GUICtrlCreateLabel("Abstand des Bildschirms", 136, 112, 118, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    If $setting1 = "yes" Then
    GUICtrlSetState($modus1, 1)
    ;~ GUICtrlSetState($modus1, $GUI_DISABLE)
    EndIf

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

    If $setting2 = "yes" Then
    GUICtrlSetState($modus2, 1)
    ;~ GUICtrlSetState($modus2, $GUI_DISABLE)
    EndIf

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

    GUISetState(@SW_SHOW, $settinggui)

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

    AdlibRegister("MoveWindow", 20)

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

    While 1
    Switch GUIGetMsg($settinggui)
    Case -3
    ExitLoop
    Case $cancel
    ExitLoop
    Case $modus1
    BitAND(GUICtrlRead($modus1), $GUI_CHECKED) ;= $GUI_CHECKED
    Case $modus2
    BitAND(GUICtrlRead($modus2), $GUI_CHECKED) ;= $GUI_CHECKED

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

    Case $save

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

    If GUICtrlRead($modus1) = 1 Then
    IniWrite($INI, "Setting 1", "run", "yes")
    $setting1 = "yes"
    Else
    IniWrite($INI, "Setting 1", "run", "no")
    $setting1 = "no"
    EndIf

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

    If GUICtrlRead($modus2) = 1 Then
    IniWrite($INI, "Setting 2", "run", "yes")
    $setting2 = "yes"
    Else
    IniWrite($INI, "Setting 2", "run", "no")
    $setting2 = "no"
    EndIf

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

    ExitLoop
    ;Exit
    EndSwitch
    Sleep(10)
    WEnd

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

    GUIDelete($settinggui)
    AdlibUnRegister("MoveWindow")
    Sleep(100)

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

    ;~ GUISetState(@SW_ENABLE, $hGui)
    ;~ GUISetState(@SW_SHOW, $hGui)

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

    _SM_SetVisualStyle(1)
    EndFunc ;==>_Einstellungen

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

    Func _SM_SetVisualStyle($b_Enable);turn on or of visual styles, able to color groups, checkboxes
    Return DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", $b_Enable * 7) ; 7 = Enable, 0 = Disable
    EndFunc ;==>_SM_SetVisualStyle

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

    Func MoveWindow()
    $read1 = GUICtrlRead($Slider1)
    $read2 = GUICtrlRead($Slider2)
    Switch GUICtrlRead($Combo1)
    Case "Rechts"
    WinMove("Settings", "", @DesktopWidth - 518 - $read2, $read1)
    Case "Links"
    WinMove("Settings", "", $read2, $read1)
    EndSwitch
    EndFunc

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


    geändert hab ich in zeile 50 ein limit für den slider gesetzt, in zeile 69 die zeit auf 20 ms und die formel bei winmove