Seite 1 von 1
Cursorposition auf drawpage
Verfasst: Di, 22.03.2011 21:54
von erikafuchs
Hallo zusammen,
ich möchte die Cursorposition auf einer drawpage per Makro auswerten und habe keine Idee wie ich da drankomme.
Toll wäre es, wenn mir jemand sagen könnte, wie ich auf Mausklick die jeweilige x/y Koordinate des Cursors angezeigt bekäme.
Vielen Dank für eure Hilfe
Pit
Re: Cursorposition auf drawpage
Verfasst: Mi, 23.03.2011 10:18
von DPunch
Aloha
Ohne zu wissen, ob die dort vorgeschlagene Lösung wie gewünscht funktioniert, kannst Du mal
Hier schauen.
Re: Cursorposition auf drawpage
Verfasst: Mi, 23.03.2011 10:45
von komma4
Das hilft wohl nicht...
Cursorposition kann angezeigt werden mit:
Code: Alles auswählen
msgbox "x: " & ThisComponent.CurrentController.ViewCursor.Position.X & CHR(13) & _
"y: " & ThisComponent.CurrentController.ViewCursor.Position.Y
Das ist aber unabhängig von einer
Drawpage
Re: Cursorposition auf drawpage
Verfasst: Mi, 23.03.2011 17:48
von erikafuchs
Lieber Winfried, lieber DPunch,
vielen Dank, das hilft mir sehr!
Das hilft wohl nicht...
... sag das nicht, da habe ich schon eine Idee.
Ich erkläre vielleicht kurz was ich vorhabe: Meine Schüler sollen auf einem vorgegebenen Koordinatensystem Punkte "einzeichnen" die einer linearen Funktionsgleichung genügen, indem sie auf die entsprechenden Stellen klicken. Wenn sie zwei richtige Punkte anklicken (inklusive einer Fehlertoleranz) soll der Graph angezeigt werden, ansonsten wird ein Fehler angezeigt.
Der Code von Newbiebuh2010 zeigt mir die Mausbewegungen innerhalb eines Formularfeldes an. Das funktioniert auch noch wenn ich ein x/y Diagramm über das Formularfeld drüberlege. Jetzt müsste ich halt noch die Position des Mauszeigers mit der Position auf dem Koordinatensystem abgleichen - das erscheint allerdings etwas schwierig, da die Einheiten überhaupt nicht zusammenpassen. Vielleicht habt Ihr ja eine bessere Idee? Zur Not erzeuge ich auch ein Koordinatensystem auf einer drawpage per Makro. Das muss ich ja aber wohl Linie für Linie und Zahl für Zahl selbst erstellen - oder nicht?
Code: Alles auswählen
msgbox "x: " & ThisComponent.CurrentController.ViewCursor.Position.X & CHR(13) & _
"y: " & ThisComponent.CurrentController.ViewCursor.Position.Y
... das bekomme ich nicht zum Laufen. Es erfolgt die Meldung "Eigenschaft oder Methode nicht gefunden". Der Code müsste aber doch m.E. in einem leeren Document ohne jegliche Variablendefinition laufen ... oder nicht?
Viele Grüße
Pit
Re: Cursorposition auf drawpage
Verfasst: Mi, 23.03.2011 19:43
von komma4
erikafuchs hat geschrieben:Code: Alles auswählen
msgbox "x: " & ThisComponent.CurrentController.ViewCursor.Position.X & CHR(13) & _
"y: " & ThisComponent.CurrentController.ViewCursor.Position.Y
... das bekomme ich nicht zum Laufen. Es erfolgt die Meldung "Eigenschaft oder Methode nicht gefunden". Der Code müsste aber doch m.E. in einem leeren Document ohne jegliche Variablendefinition laufen ... oder nicht?
Läuft mit einem WRITER-Dokument, Du hast wohl eine Calc am Wickel...?
Re: Cursorposition auf drawpage
Verfasst: Do, 24.03.2011 09:48
von erikafuchs
Jawohl,
daher hatte ich auch die drawpage erwähnt, da ich keinen Cursor in einem Text brauche sondern möglichst einen in mm. Das Problem ist wohl, dass die Angaben in den obigen Lösungen Pixelorientiert sind. Ich habe keine Ahnung ob ich diese Berechnungen dann an die jeweilige Grafikauflösung der Grafikkarte anpassen muss.
Grüße
Pit
Re: Cursorposition auf drawpage
Verfasst: Do, 24.03.2011 12:13
von komma4
erikafuchs hat geschrieben:daher hatte ich auch die drawpage erwähnt,
DRAWPAGE gibt es auch bei WRITER, bei CALC eine DRAWPAGE pro Tabellenblatt

Re: Cursorposition auf drawpage
Verfasst: Do, 24.03.2011 12:23
von erikafuchs
Irgendwie logisch.
Danke
Pit
Re: Cursorposition auf drawpage
Verfasst: Mo, 11.04.2011 06:54
von jona99
Wenn ich folgenden Code ausführe (tools->macro->run macro)
Code: Alles auswählen
msgbox "x: " & ThisComponent.CurrentController.ViewCursor.Position.X & CHR(13) & _
"y: " & ThisComponent.CurrentController.ViewCursor.Position.Y
bekomme ich mit OOo3.2.0 (WinXPSP3) folgendes Ergebnis: x: 616 y:0,
wenn der Cursor am Anfang des Writer-Dokuments steht.
Eigentlich hätte ich x:0 erwartet oder x:2000 wenn der Seitenrand mitgerechnet wird,
aber nicht x:616.
Was bekommt ihr für Ergebnisse ?
Siehe auch:
http://www.oooforum.org/forum/viewtopic.phtml?t=118211