Hallo,
also ich hab einige Probleme beim Erstellen eines funktionierendes Child-Fensters...
Die Aktion-Labels und Slider funktionieren leider nur teilweise, woraufhin ich das ganze auch noch mit .bmp's versucht habe, was aber genauso wenig zuverlässig ist...
Mein erstes grundlegendes Problem ist, dass immer nur einer der beiden Slider halbwegs zuverlässig die Daten annimmt bzw. ausspuckt...
Das zweite: ist das Child-Fenster, zunächst @SW_Hide und wird dann erst @SW_Show, funktioniert alles noch weniger...
Außerdem: Gibt es eine Möglichkeit die Slider schöner darzustellen (genaueres Setzen des Knopfes und ohne rechteckige Markierung)?
Leider schwer zu beschreiben, aber alles nötige ist im Anhang, um die Probleme zu verdeutlichen...
Ich hoffe, dass jemand Lösungen für die Macken hat, angestrebte Funktiosweise sollte eigentlich klar sein
BG Andy
Spoiler anzeigen
#include <SliderConstants.au3>
#include <WindowsConstants.au3>
$Child_zuerst_on_oder_off = 1 ; 0 = off , 1 = on
[/autoit] [autoit][/autoit] [autoit]Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]$GUI = GUICreate("", 100, 100, 200, 200)
GUICtrlSetOnEvent(GUICtrlCreateButton("Child an/aus", 10, 10), "Child_State")
GUISetState(@SW_SHOW)
GUI_Child_Erstellen()
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(100)
WEnd
Func Child_State()
If $Child_State = "Show" Then
WinSetState($GUI_Child, "", @SW_HIDE)
Global $Child_State = "Hide"
ElseIf $Child_State = "Hide" Then
WinSetState($GUI_Child, "", @SW_SHOW)
Global $Child_State = "Show"
EndIf
EndFunc
Func GUI_Child_Erstellen()
Global $GUI_Child = GUICreate("", 210, 100, 310, 200, $WS_POPUP, -1, $GUI)
GUISetBkColor(0x000000) ; ändern für bessere Sicht der Button-Grenzen
GUISetFont(10, 100, -1, "Tahoma")
GUICtrlCreateLabel(" - ", 5, 0, 20)
GUICtrlSetOnEvent(-1, "Pitch_Runter")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlCreateLabel("Pitch", 37, 0, 26)
GUICtrlSetOnEvent(-1, "Pitch_Normal")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlCreateLabel(" + ", 75, 0, 20)
GUICtrlSetOnEvent(-1, "Pitch_Rauf")
GUICtrlSetColor(-1, 0xFFFFFF)
Global $Pitch_Slider = GUICtrlCreateSlider(0, 15, 100, 16, $TBS_NOTICKS)
GUICtrlSetOnEvent(-1, "Pitch_Aendern")
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetLimit(-1, 5, -5)
GUICtrlSetData(-1, 0)
GUICtrlCreateLabel(" - ", 111, 0, 20)
GUICtrlSetOnEvent(-1, "Tempo_Runter")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlCreateLabel("Tempo", 136, 0, 39)
GUICtrlSetOnEvent(-1, "Tempo_Normal")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlCreateLabel(" + ", 181, 0, 20)
GUICtrlSetOnEvent(-1, "Tempo_Rauf")
GUICtrlSetColor(-1, 0xFFFFFF)
Global $Tempo_Slider = GUICtrlCreateSlider(106, 15, 100, 16, $TBS_NOTICKS)
GUICtrlSetOnEvent(-1, "Tempo_Aendern")
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetLimit(-1, 50, -50)
GUICtrlSetData(-1, 0)
GUICtrlSetOnEvent(GUICtrlCreatePic(@ScriptDir & "\Runter.bmp", 2, 40, 11, 12), "Pitch_Runter")
GUICtrlSetOnEvent(GUICtrlCreatePic(@ScriptDir & "\Pitch.bmp", 15, 40, 28, 12), "Pitch_Normal")
GUICtrlSetOnEvent(GUICtrlCreatePic(@ScriptDir & "\Rauf.bmp", 45, 40, 11, 12), "Pitch_Rauf")
GUICtrlSetOnEvent(GUICtrlCreatePic(@ScriptDir & "\Runter.bmp", 62, 40, 11, 12), "Tempo_Runter")
GUICtrlSetOnEvent(GUICtrlCreatePic(@ScriptDir & "\Tempo.bmp", 75, 40, 41, 12), "Tempo_Normal")
GUICtrlSetOnEvent(GUICtrlCreatePic(@ScriptDir & "\Rauf.bmp", 118, 40, 11, 12), "Tempo_Rauf")
If $Child_zuerst_on_oder_off = 0 Then
GUISetState(@SW_HIDE)
Global $Child_State = "Hide"
Else
GUISetState(@SW_SHOW)
Global $Child_State = "Show"
EndIf
EndFunc
Func Pitch_Runter()
GUICtrlSetData($Pitch_Slider, GUICtrlRead($Pitch_Slider) - 0.5)
Pitch_Aendern()
EndFunc
Func Pitch_Normal()
GUICtrlSetData($Pitch_Slider, 0)
Pitch_Aendern()
EndFunc
Func Pitch_Rauf()
GUICtrlSetData($Pitch_Slider, GUICtrlRead($Pitch_Slider) + 0.5)
Pitch_Aendern()
EndFunc
Func Pitch_Aendern()
MsgBox(0, "", "Pitch: " & GUICtrlRead($Pitch_Slider))
EndFunc
Func Tempo_Runter()
GUICtrlSetData($Tempo_Slider, GUICtrlRead($Tempo_Slider) - 5)
Tempo_Aendern()
EndFunc
Func Tempo_Normal()
GUICtrlSetData($Tempo_Slider, 0)
Tempo_Aendern()
EndFunc
Func Tempo_Rauf()
GUICtrlSetData($Tempo_Slider, GUICtrlRead($Tempo_Slider) + 5)
Tempo_Aendern()
EndFunc
Func Tempo_Aendern()
MsgBox(0, "", "Tempo: " & GUICtrlRead($Tempo_Slider))
EndFunc