10 messages in org.openoffice.fr.progRe: [prog] accéder à un bouton depuis...
FromSent OnAttachments
Martin blaizotFeb 8, 2005 5:02 am 
Laurent GodardFeb 8, 2005 5:09 am 
Martin blaizotFeb 8, 2005 6:03 am 
Laurent GodardFeb 8, 2005 6:48 am 
mblaizotFeb 8, 2005 12:11 pm 
Bernard MarcellyFeb 10, 2005 2:38 am 
Martin blaizotFeb 10, 2005 6:46 am 
Alain NowakFeb 11, 2005 2:47 am 
Martin blaizotFeb 11, 2005 5:24 am 
Laurent GodardFeb 11, 2005 5:32 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] accéder à un bouton depuis le codeActions...
From:Bernard Marcelly (marc@club-internet.fr)
Date:Feb 10, 2005 2:38:45 am
List:org.openoffice.fr.prog

Bonjour, Le snippet signalé par Laurent affecte un même traitement à tous les boutons du formulaire. J'ai réussi à affecter un traitement à un bouton donné, en m'inspirant des pages 572-574 et604-605 du bouquin Programmation OpenOffice.org Au lieu du code du snippet, écrire ceci :

oDocument = StarDesktop.getCurrentComponent oView = oDocument.CurrentController oDrawPage = oView.getActiveSheet.DrawPage

' get the first form oForm = oDrawPage.getForms.getByIndex(0)

Dim modeleBouton As Object, monBouton As Object Dim ecouteur As Object

modeleBouton = oForm.getByName("Bouton1") monBouton = oView.GetControl(modeleBouton) ecouteur = CreateUnoListener("monBouton1_", "com.sun.star.awt.XActionListener") monBouton.addActionListener(ecouteur)

' ------------- gestionnaires d'évènements ---

Sub monBouton1_actionPerformed(evt As Object) MsgBox("C'est moi, le bouton !") End Sub

Sub monBouton1_disposing(evt As Object) End Sub

*******

A noter : La routine monBouton1_disposing est nécessaire même si on ne l'utilise pas. L’afficheur de propriétés du contrôle Bouton ne « voit » pas le traitement de l’évènement. Le traitement est désactivé à la fermeture du document. La sauvegarde du document ne permet pas de mémoriser l'affectation de traitement à l'évènement. Peut-être qu'on peut améliorer.

Bernard