FAQ LibreOffice et Apache OpenOfficeConsultez toutes les FAQ
Nombre d'auteurs : 10, nombre de questions : 359, dernière mise à jour : 15 juillet 2017 Ajouter une question
Bienvenue sur la FAQ, elle a été réalisée pour répondre aux questions concernant les suites bureautiques Apache OpenOffice (AOO) et LibreOffice (LibO).
Si vous souhaitez participer pour l'améliorer, pour proposer vos contributions ou si vous constatez des erreurs dans cette page, n'hésitez-pas !!! Participez.
- 8.7.1. Les cases à cocher: CheckBox (1)
- 8.7.2. Le contrôle picto: ImageControl (2)
- 8.7.3. Les zones de liste: ListBox (7)
- 8.7.4. Les barres de progression: ProgressBar (1)
- 8.7.5. Les zones de texte: TextField (6)
- 8.7.6. Les champs Date / Calendriers (2)
- 8.7.7. La sélection de fichiers: FileControl (1)
- Comment afficher une boîte de dialogue BASIC ?
- Comment adapter les dimensions de la boîte de dialogue à la taille de l'écran ?
- Comment lister le nom des boîtes de dialogues contenues dans le fichier ?
- Comment boucler sur l'ensemble des contrôles de la boîte de dialogue ?
- Comment ajouter un objet dynamiquement dans une boîte de dialogue BASIC ?
Les boîtes de dialogue permettent de créer une interface utilisateur adaptée à votre projet. Vous pouvez y ajouter des contrôles afin d'effectuer des saisies depuis ce support personnalisé ou pour visualiser des informations.
Pour créer une boîte de dialogue :
placez-vous dans l'éditeur de macros ;
faites un clic-droit dans la barre d'onglets des modules, en bas de la page ;
sélectionnez l'option « Insérer » dans la liste déroulante ;
sélectionnez « Boîte de dialogue BASIC ».
Placez cette macro dans un module.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | Global oDialog1 As Object Sub AfficherBoiteDialogue DialogLibraries.LoadLibrary( "Standard" ) 'Dialog1 est le nom de la Form (clic-droit sur l'objet / propriétés / onglet Général / Nom) oDialog1 = CreateUnoDialog( DialogLibraries.Standard.Dialog1 ) 'Attribue un titre dans la fenêtre odialog1.Title = "Le titre" 'Modifie la couleur de fond de la boîte de dialogue oDialog1.Model.BackgroundColor = RGB(235,235,125) 'Redéfinit les dimensions de la boîte de dialogue oDialog1.Model.Height = 200 'Hauteur oDialog1.Model.Width =400 'Largeur 'Redéfinit les position de la boîte de dialogue à l'écran oDialog1.Model.PositionX = 0 'Position horizontale oDialog1.Model.PositionY = 100 'Position verticale 'Affiche la boîte de dialogue oDialog1.Execute() End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 | Sub FermetureFormBasic 'Ferme la boîte de dialogue oDialog1.endExecute 'Libère les ressources oDialog1.Dispose End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long,ByVal nIndex As Long) As Long Private Const Largeur As Long = 8 Private Const Hauteur As Long = 10 Sub affichageBoiteDialogue_adapterTailleEcran Dim Hdc As Long , H As Long , V As Long Dim oDialog1 As Object Hdc = GetDC(0) DialogLibraries.LoadLibrary( "Standard" ) oDialog1 = CreateUnoDialog( DialogLibraries.Standard.Dialog1 ) H = GetDeviceCaps(Hdc, Largeur) V = GetDeviceCaps(Hdc, Hauteur)-50 iXPos = 0 iYPos = 0 oDialog1.setPosSize(iXPos, iYPos, H, V, com.sun.star.awt.PosSize.POSSIZE) oDialog1.Execute() 'Ferme la boîte de dialogue oDialog1.endExecute 'Libère les ressources oDialog1.Dispose End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | Sub ListerNomsDialogues Dim Tableau() As String Dim i As Integer Tableau = DialogLibraries.Standard.getElementNames() For i = 0 To UBound(Tableau) Msgbox Tableau(i) Next i End Sub |
La variable oDialog1 est supposée déclarée en type « Global » lors du lancement de la boîte de dialogue.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | Sub BoucleControles Dim Tableau() Dim i As Integer Tableau = oDialog1.Controls For i = 0 To UBound(Tableau) MsgBox Tableau(i).Model.Name & " --> " & Tableau(i).ImplementationName Next i End Sub |
Cet exemple crée dynamiquement une listBox dans la boîte de dialogue en cours d'affichage.
Ajoutez préalablement un bouton dans la boîte de dialogue et associez-y la macro suivante :
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | Sub AjoutListBox Dim oDialogModel As Object , oListBoxModel As Object Dim NomObj As String Dim i As Integer Dim oActionListener As Object NomObj = "NomListBox" oDialogModel = oDialog1.Model 'Définit le modèle d'objet à ajouter (ListBox) 'http://api.openoffice.org/docs/common/ref/com/sun/star/awt/module-ix.html oListBoxModel = oDialogModel.createInstance( "com.sun.star.awt.UnoControlListBoxModel" ) With oListBoxModel .Name = NomObj .PositionX = 80 'position horizontale .PositionY = 10 'position verticale .Width = 50 'largeur .Height = 100 'hauteur End With 'Ajoute la ListBox dans la boîte de dialogue oDialogModel.insertByName( NomObj , oListBoxModel ) For i = 1 To 10 'Ajout des données dans la ListBox oDialog1.getControl( NomObj ).AddItem ("Donnée" & i , i - 1 ) Next i 'Association des évènements à l'objet créé dynamiquement oActionListener = createUnoListener("ListBox_", "com.sun.star.awt.XActionListener") oDialog1.getControl( NomObj ).addActionListener( oActionListener ) End Sub '--- Les évènements de la ListBox Sub ListBox_disposing(oEvent) End Sub 'Affiche le contenu de la ligne sélectionnée lors d'un double clic Sub ListBox_actionPerformed(oEvent) MsgBox oEvent.Source.SelectedItem & " Ligne: " & oEvent.Source.SelectedItemPos + 1 End Sub |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.