Bonjour à tous,

Avec le code ci-dessous, je peux récupérer la position de la souris sur
un document Draw.
Le scénario :
- un doc draw nouveau est ouvert,
- je lance la macro RegisterMousehandler,
- en cliquant sur la page de dessin, j'obtiens la position de la souris
en centième de millimètre à partir du coin supérieur gauche de la page
de dessin.

Le problème, c'est qu'il y a une petite erreur que je ne comprends pas.
Essayez-vous même en cliquant sur le coin supérieur gauche vous n'aurez
pas 0,0

Quelqu'un a-t-il une idée de pourquoi ?

Rem : pour désactiver le XMouseClickHandler il suffit de fermer le
document ou de lancer UnRegisterMouseHandler.

D'avance merci.


/REM  *****  BASIC  *****
Global oDocView, oMouseListener, oContainerWindow  as Object

Sub RegisterMouseHandler
    oDocView = ThisComponent.getCurrentController '.GetFrame.getController
    oMouseListener =
CreateUnoListener("MonEssai_","com.sun.star.awt.XMouseClickHandler")
    oDocView.addMouseClickHandler(oMouseListener)
End Sub

Sub UnRegisterMouseHandler
    oDocView = ThisComponent.getCurrentController
    oDocView.removeMouseClickHandler(oMouseListener)
End Sub


Sub MonEssai_mousePressed(oEvt) as Boolean
    monZoom = ThisComponent.CurrentController.Zoomvalue/100
    monX = Int(oEvt.X*25.4 + (oDocView.VisibleArea.X)*monZoom)
    monY = Int(oEvt.Y*25.4 + (oDocView.VisibleArea.Y)*monZoom)
       Print monX, monY, oEvt.Buttons
    MonEssai_mousePressed = True
End Sub


Sub MonEssai_mouseReleased(oEvt) as Boolean
    MonEssai_mouseReleased = True   
end sub/

-- 
Didier Dorange-Pattoret

http://www.dmaths.org
http://sesamath.net

Soutenez le projet Dmaths : rejoignez le club ou faites adhérer votre 
établissement !
http://www.dmaths.org/documentation/doku.php?id=presentation:club


Répondre à