hatte beim letzten Mal verdödelt, den Code als Code einzufügen

Weiß da keiner Rat, wie man die Position des Mauszeigers ermitteln kann ?
Oder vielleicht einen interessanten Link ?
Wäre super, wenn jemand helfen könnte !
Viele Grüße
Moderator: Moderatoren
Maus-Ereignisse
StarOffice Basic erkennt folgendeMausereignisse:
■ Mouse moved: der Anwender bewegt dieMaus.
■ Mouse moved while key pressed: der Anwender zieht dieMaus bei gedrückter, beliebiger
Maustaste.
■ Mouse button pressed: der Anwender drückt eineMaustaste.
■ Mouse button released: der Anwender lässt eineMaustaste los.
■ Mouse outside: der Anwender bewegt dieMaus aus dem aktuellen Fenster heraus.
Der Aufbau des verknüpften Ereignisobjekts wird in der Struktur
com.sun.star.awt.MouseEvent definiert, die folgende Informationen bereitstellt:
■ Buttons (Short): gedrückte Taste (eine oder mehrere Konstanten gemäß
com.sun.star.awt.MouseButton).
■ X (Long): X-Koordinate derMaus, gemessen in Pixel von der linken oberen Ecke des
Steuerelements.
■ Y (Long): Y-Koordinate derMaus, gemessen in Pixel von der linken oberen Ecke des
Steuerelements.
■ ClickCount (Long): Anzahl der Klicks, die mit demMausereignis verknüpft sind (wenn
StarOffice ausreichend schnell reagieren kann, ist ClickCount auch bei einemDoppelklick
1, da nur ein Einzelereignis ausgelöst wird).
Die in com.sun.star.awt.MouseButton definierten Konstanten für dieMaustasten lauten:
■ LEFT: linkeMaustaste.
■ RIGHT: rechteMaustaste.
■ MIDDLE: mittlereMaustaste.
Code: Alles auswählen
Das folgende Beispiel gibt die Position derMaus sowie dieMaustaste, die gedrückt wurde, aus:
Sub MouseUp(Event As Object)
Dim Msg As String
Msg = "Keys: "
If Event.Buttons AND com.sun.star.awt.MouseButton.LEFT Then
Msg = Msg & "LEFT "
End If
If Event.Buttons AND com.sun.star.awt.MouseButton.RIGHT Then
Msg = Msg & "RIGHT "
End If
If Event.Buttons AND com.sun.star.awt.MouseButton.MIDDLE Then
Msg = Msg & "MIDDLE "
End If
Msg = Msg & Chr(13) & "Position: "
Msg = Msg & Event.X & "/" & Event.Y
MsgBox Msg
End Sub
Lg, MarciHinweis – Die VBA-Ereignisse Click und Doubleclick stehen in StarOffice Basic nicht zur
Verfügung. Verwenden Sie stattdessen anstelle des Click-Ereignisses das StarOffice
Basic-Ereignis MouseUp und bilden Sie das Doubleclick-Ereignis durch eine Änderung der
Anwendungslogik nach.
Code: Alles auswählen
Sub Zeiger (Event As Object)
'Positionen in Pixel bei Mausklick
If Event.Buttons AND com.sun.star.awt.MouseButton.LEFT Then
posx=Event.X
posy=Event.Y
End If
'Werte in Hundertstel-mm umrechnen
kox=clng(posx)*0.017636684*TwipsPerPixelX()*100
koy=clng(posy)*0.017636684*TwipsPerPixelY()*100
'Bild einfügen an der ermittelten Position
Dim Page As Object
Dim Bild As Object
Dim Point As New com.sun.star.awt.Point
Dim Size As New com.sun.star.awt.Size
Doc = ThisComponent
mysheet = Doc.Sheets(0)
Page = mysheet.drawPage
Bild = Doc.createInstance("com.sun.star.drawing.GraphicObjectShape")
Size.Width = 500
Size.Height = 500
Bild.Size = Size
Point.x = kox
Point.y = koy
Bild.Position = Point
Bild.GraphicURL = "file:///C:/Tests/murks.png"
Bild.AdjustBlue = 0
Bild.AdjustGreen = 0
Bild.AdjustBlue = 0
Bild.AdjustContrast = 0
Bild.AdjustLuminance = 0
Bild.Transparency = 0
Bild.Name = "Test01"
Bild.GraphicColorMode = com.sun.star.drawing.ColorMode.STANDARD
Page.add(Bild)
End Sub
Code: Alles auswählen
Sub Zeiger(Event As Object)
Dim Msg As String
Msg = "Keys: "
If Event.Buttons AND com.sun.star.awt.MouseButton.LEFT Then
Msg = Msg & "LEFT "
End If
If Event.Buttons AND com.sun.star.awt.MouseButton.RIGHT Then
Msg = Msg & "RIGHT "
End If
If Event.Buttons AND com.sun.star.awt.MouseButton.MIDDLE Then
Msg = Msg & "MIDDLE "
End If
Msg = Msg & Chr(13) & "Position: "
Msg = Msg & Event.X & "/" & Event.Y
'MsgBox Msg
posx=Event.X
posy=Event.Y
'x/y in die Tabelle eintragen
blatt=thiscomponent.sheets.getbyname("Tabelle2")
azelle=blatt.getcellrangebyname("K2")
azelle.string=posx
azelle=blatt.getcellrangebyname("K3")
azelle.string=posy
Ende:
End Sub