Announcement

Collapse
No announcement yet.

TButton

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

  • TButton

    Hallo
    wie kann ich beim Drücken eines Buttons eine Funktion so lange ausführen bis der Button nicht mehr gedrückt wird?

    Gruß Martin

  • #2
    Hallo Martin,

    ich gehe davon aus, daß die Funktion aus einer oder mehreren Schleifen besteht und die Funktion nur einmal gestartet wird:

    Verwende in der Unit eine globale Variable z.B. bool ButtonGedrueckt. In dem Ereignis OnMouseDown des Buttons setzt Du diese Variable auf true und startest die Funktion. In dem Ereignis OnMouseUp setzt Du die Variable wieder auf false. In der/den Schleifen der Funktion selbst prüfst Du die Variable. Sollte sie false sein, brichst Du die Verarbeitung der Schleife(n) ab. z.B. mit if (!ButtonGedrueckt) break;.

    Hinweis: Damit das funktioniert, muß Application->ProcessMessages() innerhalb der Schleife(n) aufgerufen werden. Sonst erreicht die MouseUp-Botschaft die Funktion niemals. Wie oft und an welcher Stelle hängt von der Schleife ab.

    Falls das nicht das Problem ist, mußt Du ein bißchen ausführlicher werden.

    Grüße Joche

    Comment

    Working...
    X