Announcement

Collapse
No announcement yet.

OnClick / OnDblClick "Management"

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • OnClick / OnDblClick "Management"

    Hallo zusammen,

    ich habe eine Komponente, die sowohl auf ein OnClick - Event, als auch auf ein OnDblClick - Event unterschiedlich reagieren soll.

    Weise ich beiden Events ein procedure zu, wird bei einem Doppelklick nun zuerst das OnClick procedure ausgeführt - und das will ich nicht.

    Nun hab ich versucht nach einem Onclick - Event per Timer zu warten ob noch ein Doppelklick "daraus wird" aber das ist aufgrund der vom System abhängigen "Doppelklicklänge" zu behende.

    Vielleicht hat jemand eine Idee wie ich das sauber, und nicht so semiprofessionell hinkrieg. Vielleicht ist über botschaften was möglich?

    Würde mich freuen wenn jemand mal einen ansatz oder ne Idee hätte.

    Heiko

  • #2
    Müssen beide Ereignisse gleichzeitig ausgeführt werden?
    Ich will sagen: ich habe in einer ListBox mal einen SingleClick simuliert, bei dem dann natürlich "OnClick" benutzt wurde. Im Menü war´s abschaltbar, und dann hat "OnDlbClick" reagiert. Und Ansatzpunkt zur Auswertung war natürlich der Menüeintrag (checked, bzw. not checked).

    Wenn du allerdings beides gleichzeitig nutzen musst (!), dann solltest du vielleicht auf "OnMouseDown", bzw. "OnMouseUp" ausweichen. Vielleicht hilft das ja weiter.

    Gruß,
    Mathias

    Comment


    • #3
      anstatt onDblClick() wird OnMouseDown() benutzt, der Paramater Shift enthält dann ssDouble. Hier im Forum wurde die Frage schon mal ausführlich beantwortet.

      hage

      Comment


      • #4
        Hallo,

        Danke erstmal für die Hinweise, nur leider bin ich immer noch nicht weiter. Mein Problem besteht nach wie vor darin, dass jeder DblClick zuerst einmal ein einfacher click ist. Ich habe das schon mit allen Events ausprobiert.

        Vielleicht erläutere ich die Problematik mal etwas genauer:
        Ich habe eine Grafikkomponente. Auf dieser Grafikkomponente möchte ich ein Fenster aufziehen können(beginnt mit mousedown und endet mit mouseup), und ich muss wissen, ob auf der Komponente einfach oder doppelt geklickt wurde.

        während das Fenster aufziehen bei gedrückter Maustaste problemlos ist, krieg ich es nicht hin die Ausführung des OnClick procedures zu unterbinden, wenn doppelt geklickt wird. Das DblClick procedure wird zwar ausgeführt, vorher jedoch auch das onClick procedure. und das darf eben nicht sein.

        Auch das mouseupEvent reagiert ja beim ersten "Up" des Doppelklicks, so dass auch dann ssDouble nicht in Shift enthalten ist, und ich annehmen muss es ist ein einfacher klick.

        Wahrscheinlich leide ich momentan unter absoluter Betriebsblindheit, aber an dieser Stelle komme ich einfach nicht weiter.

        Würde mich freuen wenn noch jemand ne idee hätte.
        Heiko

        p.s. an Hagen - ich hab leider kein passenden Beitrag im Forum gefunden, obwohl ich wirklich intensiv gesucht habe - hast du vielleicht einen Link?

        Comment

        Working...
        X