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
Wow, hab ja jetzt 1111 Posts *g*