GUICtrlCreateInput und $WS_VSCROLL

  • Hi,

    ich nutze ein GUICtrlCreateInput Element und wollte mit $WS_VSCROLL die Möglichkeit geben zwischen mehreren Werten zu wählen, Allerdings kriege ich es einfach nicht hin die Werte zu definieren, die beim wählen des Scrollelements zu Verfügung stehen sollen. Geht das überhaupt? Kann mir jemand einen tipp geben?

    Danke.

    Franz

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

  • Hallo,

    es sind Felder in denen z.B. 10:00 steht und ich möchte mit den $ws_vscroll z.B. den Wert 00:10 zu 10:00 addieren oder 00:10 subtrahieren. Allerding weiß ich nicht wie ich entweder die beiden kleinen Scrollbuttons ansteure oder zu definiere was die machen.

    ich hoffe das war verständlicher .... ^^

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

  • Hi,
    was meinst du mit Scrollelement?
    Meinst du ein Up-Down?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    $Form1 = GUICreate("", 266, 55, 347, 209)
    $Input1 = GUICtrlCreateInput("", 8, 8, 185, 21)
    GUICtrlCreateUpdown(-1)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]
  • ja genau das suche ich!! :rolleyes:

    Ich sehe das funktioniert auch, allerdings addiert/subtrahiert er immer von 0 ausgehend 1. Zumindest wenn der Werte kein Integer ist, sonder wie in meinem Beispiel 10:00.

    Kann man das ändern ?

    oh und dann ist mir in diesem zusammenhang noch ein Bug aufgefallen. Oder ich weiß nicht ob es einer ist.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Tabbed Notebook Dialog", 413, 305, 269, 193)
    GUISetIcon("D:\005.ico")
    $PageControl1 = GUICtrlCreateTab(8, 8, 396, 256)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
    $Input1 = GUICtrlCreateInput("Input1", 64, 56, 121, 22)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Input2 = GUICtrlCreateInput("Input2", 64, 104, 121, 22)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
    $TabSheet3 = GUICtrlCreateTabItem("TabSheet3")
    GUICtrlCreateTabItem("")
    $Button1 = GUICtrlCreateButton("&OK", 166, 272, 75, 25, 0)
    $Button2 = GUICtrlCreateButton("&Cancel", 246, 272, 75, 25, 0)
    $Button3 = GUICtrlCreateButton("&Help", 328, 272, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    GUICtrlCreateUpdown($Input1)
    GUICtrlCreateUpdown($Input2)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    geht mal auf den zweiten Tab. Dann bleiben die up/downs angezeigt. Ist das normal ?

    Franz

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

    Einmal editiert, zuletzt von franzp (10. Oktober 2008 um 11:57)

  • Hi,

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Tabbed Notebook Dialog", 413, 305, 269, 193)
    GUISetIcon("D:\005.ico")
    $PageControl1 = GUICtrlCreateTab(8, 8, 396, 256)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
    $Input1 = GUICtrlCreateInput("Input1", 64, 56, 121, 22)
    GUICtrlCreateUpdown($Input1)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Input2 = GUICtrlCreateInput("Input2", 64, 104, 121, 22)
    GUICtrlCreateUpdown($Input2)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
    $TabSheet3 = GUICtrlCreateTabItem("TabSheet3")
    GUICtrlCreateTabItem("")
    $Button1 = GUICtrlCreateButton("&OK", 166, 272, 75, 25, 0)
    $Button2 = GUICtrlCreateButton("&Cancel", 246, 272, 75, 25, 0)
    $Button3 = GUICtrlCreateButton("&Help", 328, 272, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    Du darfst das nicht unter GUISetState(@SW_SHOW) setzen.

    Zu deinem anderen Problem weiß ich im Moment keine Lösung, aber vielleicht fällt mir ja noch was ein ;)

    /Edit:

    Aus dem englischen Forum:

    Spoiler anzeigen
    [autoit]

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

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

    Opt('MustDeclareVars', 1)

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

    Global $title, $input1, $input2, $updown, $iUpDown = 0, $iCurrent = 5

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

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

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

    $input1 = GUICtrlCreateInput(StringFormat("%#.3f", $iCurrent), 10, 10, 100, 20); Current value

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

    $input2 = GUICtrlCreateInput(0, 120, 10, 20, 20); UpDown offset value
    $updown = GUICtrlCreateUpdown($input2)

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

    GUISetState()

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

    ; Update the current value until the dialog is closed
    Do
    $iUpDown = Number(GUICtrlRead($input2))
    If $iUpDown <> 0 Then
    $iCurrent += ($iUpDown * 0.001)
    GUICtrlSetData($input1, StringFormat("%#.3f", $iCurrent))
    GUICtrlSetData($input2, 0)
    EndIf
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    MsgBox(0, "Final value", $iCurrent)

    [/autoit]

    Ich komme mit StringFormat nicht zurecht. Das is genauso komisch wie SRE.
    Naja, das darfst du dann machen :D

    Einmal editiert, zuletzt von anno2008 (10. Oktober 2008 um 13:54)

  • ah ich hatte das unter GUISetState(@SW_SHOW) gesetzt, weil oberhalb der Koda immer alles überschreibt. Am einfachsten wäre es wenn man es direkt mit dem Koda auf das Input Feld setzen könnte. Es gibt ja auch das Feld dazu (siehe Bild), aber egal was reinschreibe kommt immer eine Fehlermeldung. Aktiviert Du das mit dem Koda ? Wenn ja wie? True oder 1 usw. nimmt er alles nicht.

    Ah Super ok, das sieht gut aus...
    Ja mit den Regular expression blick ich auch nicht durch. Dann werd ich daran vermutlich auch scheitern... Aber ich versuchs. Möge die Macht mit mir sein :huh:
    Vielen vielen Dank !
    Franz

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