Klick on Progress->Wert verändern

  • Hallo @ all

    Brauch mal ein bisschen Denkhilfe. Ich kriege es nicht hin, dass wenn einen Klick auf eine Progressbar mache, sich bis dahin der Wert verändert. :cursing:

    Habe schon danach gesucht, jedoch nichts gefunden.

    Vielleicht weiß von euch einer eine Lösung.
    Danke schonmal im Vorraus ;)

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

  • Hallo Conan10,

    Progress ist eigentlich nur für das Anzeigen von Werten (z.B.: 0 - 100%) gedacht. Sieh dir mal in der Hilfe GuiCtrlCreateSlider, damit ist das ohne Probleme möglich. Sieh dir dazu auch diesen und die beiden darauf folgenden Beiträge an,

    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (26. September 2009 um 18:54)

  • Erstmal danke für die Antwort AutoBert.
    Hatte es auch so schon. Nur ist es halt das Design das mich stört.
    Ich meine auch ich hätte das schonmal gesehen, weiß aber leider nichtmehr wo.
    Mal sehen wie ich das jetzt umsetze.
    Vielleicht fällt dem einen ja doch was ein.

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

    • Offizieller Beitrag

    Ich weiß zwar nicht, wozu das zu gebrauchen sein soll :rolleyes:
    aber so geht es:

    [autoit]

    #include <GUIConstantsEx.au3>

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

    $gui = GUICreate('test')
    $progress = GUICtrlCreateProgress(20, 50, 200, 20)
    $pPos = ControlGetPos($gui, '', $progress)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case -3
    Exit
    Case $GUI_EVENT_PRIMARYDOWN
    $old = Opt('MouseCoordMode', 2)
    $mPos = MouseGetPos()
    If ($mPos[0] >= $pPos[0] And $mPos[0] <= $pPos[0] + $pPos[2]) And _
    ($mPos[1] >= $pPos[1] And $mPos[1] <= $pPos[1] + $pPos[3]) Then
    $iProg = ($mPos[0] - $pPos[0]) / $pPos[2] *100
    GUICtrlSetData($progress, $iProg)
    EndIf
    Opt('MouseCoordMode', $old)
    EndSwitch
    WEnd

    [/autoit]
  • Danke BugFix.
    Werde es morgen ausprobieren.
    Wenn es auch noch klappt, dann musst du deinen Titel wirklich mal erweitern.
    Schonmal ein fettgeschriebenes Danke an Alle und vorallem an BugFix

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

    • Offizieller Beitrag

    :D
    Hab grad bemerkt, dass ich es viel zu kompliziert gemacht hatte.
    Geht deutlich kürzer:

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>

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

    $gui = GUICreate('test')
    $progress = GUICtrlCreateProgress(20, 50, 200, 20, $PBS_SMOOTH)
    $pPos = ControlGetPos($gui, '', $progress)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case -3
    Exit
    Case $GUI_EVENT_PRIMARYDOWN
    $mPos = GUIGetCursorInfo($gui)
    If $mPos[4] = $progress Then
    $iProg = ($mPos[0] - $pPos[0]) / $pPos[2] *100
    GUICtrlSetData($progress, $iProg)
    EndIf
    EndSwitch
    WEnd

    [/autoit]