

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
6 messages in org.openoffice.fr.progRe: [prog] Création d'un bouton par m...| From | Sent On | Attachments |
|---|---|---|
| Arnaud GUERIN | Mar 25, 2005 1:18 am | |
| Laurent Godard | Mar 25, 2005 2:10 am | |
| Philippe | Mar 25, 2005 2:26 am | |
| Laurent Godard | Mar 25, 2005 2:31 am | |
| Philippe | Mar 25, 2005 2:41 am | |
| Jovial | Mar 25, 2005 3:41 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: [prog] Création d'un bouton par macro | Actions... |
|---|---|---|
| From: | Jovial (o.jo...@free.fr) | |
| Date: | Mar 25, 2005 3:41:31 am | |
| List: | org.openoffice.fr.prog | |
Arnaud GUERIN a écrit :
Bonjour à tous,
je suis en train d'effectuer un petit développement pour ma société.
Est- ce qu'il est possible de créer, dans une feuille Calc, un bouton et de lui modifier ses propriétés (par exemple les évènements)?
Merci
J'avais fait une sub qui crée un bouton pour palier à l'absence de boite de dialogue ponctuelle En voici le code pour calc
sub CreationCtrlTempo ' Affiche un controle temporisé (ici un bouton avec une image et un label) Dim MonDocument As Object Dim MaFeuille As Object Dim DrawPage As Object Dim Form As Object dim Control as object Const LargeurCtrl =9000 Const HauteurCtrl =7500 Dim aPos as new com.sun.star.awt.Point Dim aSize as new com.sun.star.awt.Size
MonDocument = ThisComponent 'Sélectionne le document en cours MaFeuille = MonDocument.CurrentController.ActiveSheet ' sélectionne la feuille activée DrawPage = MaFeuille.DrawPage 'sélectionne la partie graphique de la feuille Form = DrawPage.Forms.GetByIndex(0)'sélectionne les contrôle de formulaire
'Chemin de l'image DocAdresse = ConvertFromURL(MonDocument.Location) ' Adresse convertie au format système NomFichierDoc = dir(DocAdresse) ' Nom du fichier RepertoireDoc = Left(DocAdresse,Len(DocAdresse)- Len(NomFichierDoc)) ' Emplacement ou répertoire où se trouve le document CheminImage = RepertoireDoc & RepertoireODCF & ImageAcceuil ' chemin fichier image
oform = MonDocument.createInstance( "com.sun.star.form.component.Form" ) 'drawpage.Forms.insertByName("MyForm", oform)
'On crée la forme qui visualise le controle button_shape = MonDocument.createInstance("com.sun.star.drawing.ControlShape")
' a position X,Y
'msgbox WindowHeight & " " & WindowWidth aPos.X = 300 aPos.Y = 200 button_shape.Position = aPos
'Taille du controle aSize.Width = LargeurCtrl aSize.Height =HauteurCtrl button_shape.Size = aSize
'On crée le controle button_model = MonDocument.createInstance("com.sun.star.form.component.CommandButton") button_model.Name = "CtrlAcceuil" button_model.Label = "Bonjour et bienvenu(e) sur la version "& version ' par défaut le texte se place sous l'image button_model.ImageURL = ConvertToURL(CheminImage) button_model.FontHeight = 11 'now connect model and shape with each other ? je sais pas l'expliquer button_shape.Control = button_model
'on insère le controle dans le formulaire DrawPage.Forms.getByName("MyForm").insertByIndex(0, button_model) 'xray.xray button_model 'On affiche le controle dans la page de dessin et on le retire au bout de 3 secondes drawpage.add(button_shape) Wait 3000 drawpage.remove(button_shape) exit sub 'Calcul pour centrer le contrôle end sub Sub OuvrirBoiteApropos 'dim DialBox as object Dim CurPosSize as new com.sun.star.awt.Rectangle Dim MonDocument As Object
DialogLibraries.LoadLibrary("Standard") 'Charge explicitement les librairies DialBox = CreateUnoDialog(DialogLibraries.Standard.A_propos)' On déclare la boite Dialog1 qui fait partie du document 'Calcul pour centrer la boite FramePosSize = ThisComponent.getCurrentController().Frame.getComponentWindow.PosSize xWindowPeer = DialBox.getPeer() CurPosSize = DialBox.getPosSize() WindowHeight = FramePosSize.Height WindowWidth = FramePosSize.Width DialogWidth = CurPosSize.Width DialogHeight = CurPosSize.Height iXPos = ((WindowWidth/2) - (DialogWidth/2)) iYPos = ((WindowHeight/2) - (DialogHeight/2)) DialBox.setPosSize(iXPos, iYPos, DialogWidth, DialogHeight, com.sun.star.awt.PosSize.POS) 'Chemin de l'image MonDocument = ThisComponent ' Sélectionne le document activé DocAdresse = ConvertFromURL(MonDocument.Location) ' Adresse convertie au format système NomFichierDoc = dir(DocAdresse) ' Nom du fichier RepertoireDoc = Left(DocAdresse,Len(DocAdresse)- Len(NomFichierDoc)) ' Emplacement ou répertoire où se trouve le document CheminImage = RepertoireDoc & RepertoireODCF & ImageBienvenue ' chemin fichier image DglImage = DialBox.getControl("ImageControl1")'on séletrionne le control DglImage.Model.ImageURL = ConvertToURL(CheminImage) 'on attribut le chemin de l'image 'DialBox.setPosSize(iXPos, iYPos, DialogWidth, DialogHeight, com.sun.star.awt.PosSize.POS) DialBox.execute() 'on affiche la boite de dialogue end sub







