Entwickler-Ecke
Multimedia / Grafik - gedrückte mousetaste?
Hopsekey - Di 10.06.03 09:58
Titel: gedrückte mousetaste?
wie kann ich abfragen, ob die linke mousetast gedrück ist? gehen wir davon aus, sie ist die ganze zeit gedrückt und ich will eine prozedure so lange laufen lassen, bis die linke mousetaste nicht mehr gedrückt ist.
ich bin für jede hilfe dankbar
Ex0rzist - Mi 11.06.03 02:12
Im OnMouse schaust du nach, ob die linke Maustaste gedrückt wurde. Dann setzt du eine Boolesche Variable (z.B. LMausUnten) auf
true.
Dann machst du in OnMouseMove (oder wann auch immer die Prozedur aufgerufen werden soll) eine Abfrage:
Und im OnMouseUp-Ereignis setzt du die Variable wieder auf
false.
Tweafis - Mi 11.06.03 07:33
Aber das gibt doch ne Endlosschleife, da der das solange durchführt bis Die vari false ist und die wird doch nie false weil das ja immer durchläuft.
Es sei denn er macht sowas wie Application.ProcessMessages
UGrohne - Mi 11.06.03 08:30
Ne, das kann so nicht wirklich funktionieren: Was ist, wenn er die linke Maustaste drückt und dann die Maus nicht bewegt? Dann wird OnMouseMove auch nciht ausgeführt.
Besser in OnMouseDown wie gesagt, überprüfen, ob die linke Maustaste gedrückt wurde und dann gibts 2 Möglichkeiten:
- Du setzt einen Timer ein, schältst den OnMouseDown auf Enabled und lässt die Prozedur aufrufen. In OnMouseUp schältst Du den Timer wieder ab.
- Du startest in OnMouseDown eine Prozedur, setzt vorher eine Boolean-Variable auf True. Innerhalb der Prozedur rufst Du jetzt application.Processmessages auf. In dieser Prozedur fragst Du dann auch noch (am besten nach ProcessMessages) die Variable ab, ist sie False, dann verlässt Du die Prozedur.
In OnMouseUp setzt die Bool-Vari wieder zurück.
Hoffe, das war verständlich, wusste keine bessere Formulierung :wink:
Wow, hab ja jetzt 1111 Posts *g*
Hopsekey - Mi 11.06.03 11:02
hey, dass klappt danke an alle :P
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!