3 messages in org.openoffice.fr.progAttacher par code un gestionnaire d'é...
FromSent OnAttachments
PhilippeMay 18, 2008 1:45 am 
Jean-MichelJun 18, 2008 4:37 am 
Jean-MichelJun 18, 2008 4:44 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:Attacher par code un gestionnaire d'événementà un boutonActions...
From:Philippe (php@gmail.com)
Date:May 18, 2008 1:45:50 am
List:org.openoffice.fr.prog

Bonjour,

Je n'arrive pas à faire fonctionner le code suivant. Pourriez vous m'aider?

Objectif: créer par code un bouton sur un formulaire et lui attacher un gestionnaire d'événement sur click.

Résultat: le formulaire est affiché avec le bouton. Au click un message d'erreur: Propriété ou méthode introuvable

Merci d'avance

Philippe

Le code:

dim mdlg as object ' ====================================================== Sub Main ' obtenir une référence au formulaire Dialog1 biblio=DialogLibraries.GetByName("Standard") oFrm=biblio.getByName("Dialog1") ' instancier le formulaire mdlg=createUNODialog(oFrm) ' ajouter un bouton et lui attacher un gestionnaire d'événement call AjoutBouton( mdlg ,"monBtn" ,3 , 3 ,1) ' afficher le formulaire mdlg.execute ' fermer le formulaire 'mdlg.endExecute End Sub

Sub AjoutBouton( dialogue as object,nomBouton as string, positionX as integer,positionY as integer)

Dim oDialogModel As Object , oButtonModel As Object NomObj = nomBouton oDialogModel = dialogue.Model

oButtonModel = oDialogModel.createInstance("com.sun.star.awt.UnoControlButtonModel" )

With oButtonModel .Name = NomObj .Label = "affecter" .PushButtonType="STANDARD" .Tabstop = True .PositionX = positionX 'position horizontale .PositionY = positionY 'position verticale .Width = 27 'largeur .Height = 14 'hauteur End With ' insérer le bouton sur le formulaire oDialogModel.insertByName( NomObj , oButtonModel )

' ici c'est un listener qui permet après d'intercepter un clic sur le ' bouton et d'éxécuter une macro. Pour cela il faut que la macro s'appelle ' nomDuBouton_actionPerformed

oButtonControl = dialogue.getControl(NomObj) cEventListenerName =NomObj ' oActionListener = CreateUnoListener( cEventListenerName + "_", "com.sun.star.awt.XActionListener" ) oActionListener = CreateUnoListener( "NomBouton_","com.sun.star.awt.XActionListener" ) oButtonControl.addActionListener( oActionListener ) End Sub

' ===============Le gestionnaire d'événement========================== public sub NomBouton_dispose(e as object) 'on error resume next msgbox "Salut :" & e.source.model.name end sub