Mausevent

Hallo zusammen,

Ich habe im Internet folgendes Programm erspäht

Dim halt As Boolean

Sub Mouse_left_down
     halt = 0
     Do
           REM Mein Makro ausführen
     Loop while halt = True
End Sub

Sub Anhalten()
    halt = 1
End Sub|

mit dem c Vorschlag das 1.Makro dem Maus-left-down-Ereignis und das 2.

Makro dem Mouse-up-Ereignis zuweisen.|

Hallo Günter,

normalerweise kann man Makros den beiden Mausereignissen bei dem betroffenen Control zuweisen, bei Dialogen in der Basic-IDE, bei Formularen, Writer, Calc usw. im Formularentwurf bzw. für das Dokument selbst über Extras - Anpassen, jeweils im Reiter "Ereignisse". In seltenen Fällen muss man selbst einen Maus-Listener anlegen.
Ich habe aber den Eindruck, dass du von diesen Dingen noch recht wenig weißt, und würde dir deshalb empfehlen, erst einmal ein bisschen was über diese Sachen nachzulesen, damit du besser verstehst, was da abläuft, bevor du selber probierst. Da gibt es z.B. Bücher.
Im Beispiel wird übrigens das Makro solange wiederholt, bis die Maustaste losgelassen wird; das ist ein Verhalten, das nur in seltenen Fällen sinnvoll ist. Meist, nämlich wenn die Maustaste einen einzigen Durchlauf des Makros auslösen soll, reicht es, das Makro entweder dem einen oder anderen Ereignis zuzuweisen; ich bevorzuge das Loslassen der Maus.

Gerhard

Hallo Gerhard,

Vielen Dank für Deine schnelle Antwort. Ich habe dieses Beispiel nur gebracht, um einen Rat zu bekommen, wie man einen Maus-Event erzeugen kann. Es klingt vielleicht ein bischen albern, aber ich habe einen Makrosatz geschrieben, mit dem ich Sudokurätsel ohne Computerhilfe lösen kann. Dabei merke ich mir die Ziffern und ihre Position in einem Stack, so daß ich im Fehlerfall die Züge rückgängig machen kann, um eine neue Variante zu probieren. Das funktioniert schon alles einwandfrei. Meine Lösung ist: Ich habe 10 Schaltflächen für die Ziffern 0 bis 9 mit denen ich jeweils die Ziffer wählen kann. Bei dieser Ziffernwahl wird ein "selectionChanged-Event scharf gemacht, dann klicke ich das Feld an, imdas die Ziffer eingetragen werden soll. Das funktioniert einwandfrei. Aber wie wir Programmierer nun einmal sind, wollen wir noch mehr, z.B: Wenn ich mehrmals die gleiche Ziffer eintragen will, ohne jedesmmal die Ziffer neu wählen zu müssen. Damit dies zusammen mit dem Stack funktionieren soll, muß ich einen Maus-Event verwenden, Mouse-up oder Mouse-down, weil sonst für einen Klick bis zu 8 Einträge in den Stack erfolgen. Ich bin übrigens ein alter Programmierhase, davon 40 Jahre im Beruf und mittlererweile 89 Jahre alt. Drum muß ich mich entschuldigen, daß ich mit diesem "Problem" Eure Zeit verplempere.

Herzliche Grüße

Günter