Slider einrasten lassen

  • ich habe mir einen Slider gebastelt.
    1-200
    Wie kann ich diesen Slider bei bestimmten Werten einrasten lassen
    und eine Info ausgeben.

    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 440, 89, 286, 196)
    $Slider1 = GUICtrlCreateSlider(16, 0, 262, 45)
    GUICtrlSetLimit(-1, 200, 0)
    $Wert = GUICtrlCreateInput("0", 312, 8, 33, 21)
    $Label1 = GUICtrlCreateLabel("0", 24, 56, 10, 17)
    $Label2 = GUICtrlCreateLabel("10", 64, 56, 16, 17)
    $Label3 = GUICtrlCreateLabel("50", 120, 56, 16, 17)
    $Label4 = GUICtrlCreateLabel("20", 88, 56, 16, 17)
    $Label5 = GUICtrlCreateLabel("100", 152, 56, 22, 17)
    $Label6 = GUICtrlCreateLabel("200", 224, 56, 22, 17)
    $Start = GUICtrlCreateButton("Start", 312, 48, 75, 25)
    GUISetState(@SW_SHOW)

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

    While True
    $msg = GUIGetMsg()
    If $msg = -3 Then Exit
    If $msg = $slider1 Then GUICtrlSetData($Wert, GUICtrlRead($slider1))
    If $msg = $Wert Then GUICtrlSetData($slider1, GUICtrlRead($Wert))

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

    WEnd

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

    Es sollte bei den Werten
    0
    10
    20
    50
    100
    200
    eingerastet werden und eine Msgbox erscheinen Sie haben z.B. 100 gewählt
    wenn man auf den Startbutton klickt!

    Einmal editiert, zuletzt von Ilse (3. November 2010 um 10:10)

  • nur als gedankenansatz:

    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 440, 89, 286, 196)
    $Slider1 = GUICtrlCreateSlider(16, 0, 262, 45)
    GUICtrlSetLimit(-1, 200, 0)
    $Wert = GUICtrlCreateInput("0", 312, 8, 33, 21)
    $Label1 = GUICtrlCreateLabel("0", 24, 56, 10, 17)
    $Label2 = GUICtrlCreateLabel("10", 64, 56, 16, 17)
    $Label3 = GUICtrlCreateLabel("50", 120, 56, 16, 17)
    $Label4 = GUICtrlCreateLabel("20", 88, 56, 16, 17)
    $Label5 = GUICtrlCreateLabel("100", 152, 56, 22, 17)
    $Label6 = GUICtrlCreateLabel("200", 224, 56, 22, 17)
    $Start = GUICtrlCreateButton("Start", 312, 48, 75, 25)
    GUISetState(@SW_SHOW)

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

    While True
    $msg = GUIGetMsg()
    $sldr = GUICtrlRead($slider1)
    GUICtrlSetData($Wert, $sldr)
    Switch $sldr
    Case 0 to 10
    GUICtrlSetData($slider1, 10)
    Case 11 to 20
    GUICtrlSetData($slider1, 20)
    Case 21 to 50
    GUICtrlSetData($slider1, 50)
    Case 51 to 100
    GUICtrlSetData($slider1, 100)
    Case 101 to 200
    GUICtrlSetData($slider1, 200)
    EndSwitch

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

    switch $msg

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

    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • guten Morgen franzp,

    merci für deine Hilfe.

    Zitat

    nur als gedankenansatz

    ...ich hatte den nicht, hatte mich mit if...etwas verlaufen.

    klappt jetzt prima

    Liebe Grüße
    Ilse ;)