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
#include <GUIConstantsEx.au3>
#include <SliderConstants.au3>
#include <WindowsConstants.au3>
_Einstellungen()
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
Opt("GUIOnEventMode", 0)
[/autoit] [autoit][/autoit] [autoit]_SM_SetVisualStyle(1)
$settinggui = GUICreate("Settings", 518, 190, -1, -1, -1, BitOR(0x00000080, 0x00000010))
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
If $setting2 = "yes" Then
GUICtrlSetState($modus2, 1)
;~ GUICtrlSetState($modus2, $GUI_DISABLE)
EndIf
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
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
If GUICtrlRead($modus2) = 1 Then
IniWrite($INI, "Setting 2", "run", "yes")
$setting2 = "yes"
Else
IniWrite($INI, "Setting 2", "run", "no")
$setting2 = "no"
EndIf
ExitLoop
;Exit
EndSwitch
Sleep(10)
WEnd
GUIDelete($settinggui)
Sleep(100)
;~ GUISetState(@SW_ENABLE, $hGui)
;~ GUISetState(@SW_SHOW, $hGui)
_SM_SetVisualStyle(1)
EndFunc ;==>_Einstellungen
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