Cursorposition auf drawpage

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Cursorposition auf drawpage

Beitrag 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
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Cursorposition auf drawpage

Beitrag von DPunch »

Aloha

Ohne zu wissen, ob die dort vorgeschlagene Lösung wie gewünscht funktioniert, kannst Du mal Hier schauen.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Cursorposition auf drawpage

Beitrag 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
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Cursorposition auf drawpage

Beitrag 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
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Cursorposition auf drawpage

Beitrag 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...?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Cursorposition auf drawpage

Beitrag 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
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Cursorposition auf drawpage

Beitrag 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 :)
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Cursorposition auf drawpage

Beitrag von erikafuchs »

Irgendwie logisch.
Danke
Pit
jona99
Beiträge: 4
Registriert: Fr, 08.04.2011 06:30

Re: Cursorposition auf drawpage

Beitrag 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
Antworten