Date: prev next · Thread: first prev next last
2016 Archives by date, by thread · List index


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


Am 23.09.2016 um 17:10 schrieb Gerhard Weydt:
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

Am 23.09.2016 um 11:09 schrieb Günter Fritze:
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.|

|Damit wäre ich ja zufrieden, aber, wie weist man ein Mausereignis zu?|

|System Linuxmin 18|

|libreoffice 5.3.0.2|

|MfG|

|Günter
|






--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.