Reaktion auf Maustaste Doppelclick

Alles zur Programmierung im LibreOffice.
Antworten
Luftschraube
Beiträge: 19
Registriert: So 5. Mai 2019, 09:20

Reaktion auf Maustaste Doppelclick

Beitrag von Luftschraube » Fr 8. Nov 2019, 15:52

Guten Tag

Grüble momentan über dem Problem meine kleine Anwendung auf Maustasten-Doppelclicks reagieren zu lassen. Bei Lehnhardt und Dannenhöfer hab ich leider nichts gefunden womit ich was anfangen könnte.
Nehm aber doch an dass ich com...MouseEvent und com...MouseButton brauche um die linke Maustaste und den Doppelclick erkennen zu können !? Im Codebeispiel wird mir msgbox ZelleAdr.column korrekt angezeigt, danach nichts mehr, aber auch kein Absturz.
Ob ich es geschafft habe mein Codebeispiel in der richtigen Art und Weise in das Thema einzubinden weiss ich nicht, mal sehen ?
Vielen Dank

Code: Alles auswählen

sub MausDoppelclick
'
dim EventME as object
'
EventME = CreateObject("com.sun.star.awt.MouseEvent")  
const Maus = ("com.sun.star.awt.MouseButton")
'
ZelleAdr = thiscomponent.getCurrentSelection().getCellAddress()                  
Zelle = thiscomponent.sheets(0).getCellByPosition(ZelleAdr.column,ZelleAdr.row)  
'
if ZelleAdr.column = 2 then
msgbox ZelleAdr.column
  if Maus = 1 then
    if EventME.ClickCount = 2 then  
      msgbox "Doppelklick"
    end if
  end if
end if
end sub

F3K Total
Beiträge: 1875
Registriert: So 10. Apr 2011, 10:10

Re: Reaktion auf Maustaste Doppelclick

Beitrag von F3K Total » Fr 8. Nov 2019, 16:48

Moin,
wenn du das Makro an das Tabellenereignis "Doppelklick" hängst, reicht dieses Makro, denn in diesem Falle ist EventME genau die Zelle, die gedoppelklickt wird. :D

Code: Alles auswählen

sub MausDoppelclick(EventME)
    if EventME.CellAddress.column = 2 then
        msgbox EventME.CellAddress.column
    end if
end sub
Gruß R

Luftschraube
Beiträge: 19
Registriert: So 5. Mai 2019, 09:20

Re: Reaktion auf Maustaste Doppelclick

Beitrag von Luftschraube » Fr 8. Nov 2019, 19:16

Hallo, vielen Dank

Dein Beispiel war das einzige was ich in fast gleicher Formulierung gefunden, aber nicht verstanden hatte, denn die Variable, in meinem Fall EventME, musste doch erst mal irgendwo erzeugt und dann übergeben werden.
Das das alles automatisch passiert wenn man dieses Sub unter Bearbeiten/Tabelle/Tabellenereignisse dem 'Doppelclick' zuweist hab ich jetzt erst kapiert :) :)

Thema Ende

gruss Luftschraube

Antworten