Bonjour, j’ai une base de données dont les formulaires présentent une interface épurée; à part les éléments nécessaires à la saisie de données, seule la barre de navigation est affichée et utilisée pour sa très grande utilité, dont l’ajout et suppression d’enregistrements et la fonction de recherche très complète LOBase.
J’utilise une macro très bien conçue que j’ai trouvée sur ce site ou peut-être un autre site dont j’ai eu très peu à faire pour l’adapter à mes besoins.
Cependant, j’aimerais à partir de cette macro pouvoir faire en sorte que la barre d’état (statusbar) s’affiche au bas du formulaire sous la barre de navigation. En fait, la seule chose qui m’intéresse de cette barre d’état est le facteur de zoom qui à l’occasion peut être très pratique.
J’ai essayé de modifier la partie conditionnelle de cette macro de différente façon en utilisant la syntaxe “private:resource/$type/$name”, mais sans succès. Je sais que XLayoutManager.idl est indispensable pour réaliser l’affichage de celle-ci et que statusbar est un des cinq éléments ou types définis. N’étant pas programmeur, ce n’est pas évident d’arriver à un résultat avec des fonctions aussi complexes.
Voir ce lien pour les détails liés à XLayoutManager : LibreOffice: XLayoutManager Interface Reference
Donc, est-ce que quelqu’un pourrait me donner une piste de solution? Voici la procédure utilisée :
Sub HideSomeMenuToolbars
Dim oCurrentController as Object
Dim oLayoutManager as Object
Dim oElements as Object
Dim oXUIElement As Object
Dim iStart As Integer
Dim iEnd As Integer
Dim x As Integer
Dim sResourceURL As String
' If Design mode, just exit the routine and display standard menu and toolbars
oCurrentController = thisComponent.CurrentController
If oCurrentController.isFormDesignMode Then
Exit Sub
End If
oLayoutManager = thisComponent.CurrentController.Frame.LayoutManager
' xLayoutManager.visible = false
oElements = oLayoutManager.getElements()
iStart = LBound(oElements)
iEnd = UBound(oElements)
For x = iStart to iEnd
oXUIElement = oElements(x)
sResourceURL = oXUIElement.ResourceURL
If sResourceURL <> "private:resource/toolbar/formsnavigationbar" Then
oLayoutManager.hideElement(sResourceURL)
EndIf
next
End Sub
Renel