Bonjour Christian,
----Message d'origine----
>Date: Wed, 26 Jul 2006 14:37:30 +0200
>De: christianwtd <[EMAIL PROTECTED]>
>A: prog@fr.openoffice.org
>Sujet: [prog] Curseur modifié
>
>Bonjour à tous,
>
>Je patine... Je n'arrive pas à afficher un curseur de souris modifié.
>Où est l'erreur dans cette macro ?
>

L'erreur est que ça ne marche qu'avec des windowPeers, pas des windows 
ordinaire. Ne me demande pas la différence...
En recherchant dans la description IDL de setPointer on voit que la méthode est 
offerte par l'interface XWindowPeer. A cette page de l'IDL, quand on clique sur 
la case Use (en haut) on voit les fonctions qui renvoient une telle interface. 
Essentiellement getPeer offert par l'interface XControl. Donc il faut récupérer 
le Peer à partir d'un contrôle. Plus exactement, à partir de la vue du contrôle.
En fait une partie de ton codage se trouve dans la bibli Tools, module 
ModuleControls (tiens donc!), routine SwitchMousePointer.
Dans un document Writer neuf, dépose un gros bouton, nommé "Bouton1". Voici le 
codage, utilisant la routine:

GlobalScope.BasicLibraries.LoadLibrary("Tools")
oDocument = ThisComponent 
unFormulaire  = oDocument.DrawPage.Forms(0)
unControle = unFormulaire.getByName("Bouton1")
oCurrentController = oDocument.getCurrentController() 
vueControle = oCurrentController.getControl(unControle)
oWindow = vueControle.getPeer()
SwitchMousePointer(oWindow, False)
wait 10000 
SwitchMousePointer(oWindow, True)

Lancer la macro depuis la fenêtre Writer. Pendant 10 secondes le sablier 
apparaît quand la souris est au-dessus du bouton.
Voila. C'est tout ce qu'on peut faire, je pense.

Bernard

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à