Winzige Frage

  • Hey ho,

    wie kann ich definieren wie hoch das GUICtrlCreateUpDown countet? ich hätte gerne +20 bzw. -20...
    mit GUICtrlSetOnEvent macht er halt immer +20 egal auf welchen pfeil man drückt... Kann man da was mit der @GUI_CtrlID machen?

    ich habs mit 0 - 5 ausprobiert da isses nix... mit AutoItWindowInfo komm ich aunet weiter und googlen irgendwie aunet


    THX 4 all help

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

    • Offizieller Beitrag

    Hallo,

    zur genaueren Analyse währe es hilfreich wenn Du den Code postest!

    Normalerweise geht es so:


    [autoit]

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

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $title, $input, $updown, $msg

    $title = "My GUI UpDown"
    GUICreate($title, -1, -1, -1, -1, $WS_SIZEBOX)

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

    $input = GUICtrlCreateInput("2", 10, 10, 50, 20)
    $updown = GUICtrlCreateUpdown($input)
    GUICtrlSetLimit(-1,20,-20)

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

    GUISetState()

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

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

    MsgBox(0, "Updown", GUICtrlRead($input))
    EndFunc ;==>Example

    [/autoit]
  • kann man auch direkt dieses beispiel benutzen:

    Ich möchte jetzt das GUICtrlUpDown so benutzen das es nicht + oder - 1 dazu oder abzieht sondern z.B. +20 oder -20 ;)
    Mit

    [autoit]

    GUICtrlSetOnEvent($updown, "updown")
    Func updown()
    GUICtrlSetData($input, GUICtrlRead($input)+20)
    EndFunc

    [/autoit]


    Macht er dann wenn man auf den oberen Pfeil klickt +21 und wenn man auf den unteren klickt +19... ich weiß also nicht wie ich hier noch die Pfeile selbst definieren kann...

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

    • Offizieller Beitrag

    Entweder machst Du Dir eigene Buttons oder Du trickst etwas:

    Ausgebautes Beispiel von Bernd:

    [autoit]


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

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Global $title, $input, $updown, $msg, $top=10, $height=20

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

    $title = "My GUI UpDown"
    GUICreate($title, -1, -1, -1, -1, $WS_SIZEBOX)

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

    $input = GUICtrlCreateInput("0", 10, $top, 50, $height)
    $updown = GUICtrlCreateUpdown($input)
    GUICtrlSetLimit(-1,120,-120)

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

    GUISetState()

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg(1)
    If $msg[0] = $updown Then updown()

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

    If $msg[0] = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

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

    MsgBox(0, "Updown", GUICtrlRead($input))
    EndFunc ;==>Example

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

    Func updown()
    If Abs(GUICtrlRead($input)) < 120 Then
    If $msg[4] > $top + Int($height/2) Then
    GUICtrlSetData($input, GUICtrlRead($input)-19)
    Else
    GUICtrlSetData($input, GUICtrlRead($input)+19)
    EndIf
    EndIf
    EndFunc

    [/autoit]