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]