Affichage des formulaires avec LIBO

Bonjour,
J’ai créé plusieurs formulaires avec LibreOffice ‘Base’, j’ajuste bien leurs dimensions en format éditer; je les sauvegarde et je ferme…
Sous linux je suis en version Libo 6.4.7.2
Sous Win7 je suis en Version LIBO 7.1.6.2
Lorsque je les ré-ouvre; ils ne conservent pas mon formatage et reviennent dans le format par défaut !!! :tired_face:
Y-a t-il un autre moyen de fixer et conserver leurs dimensions :thinking:???
J’ai posté ce même message sur le Forum CCM et je n’ai obtenu à ce jour aucune réponse… :mask:
Merci par avance pour votre compréhesion et vos conseils…
Cordialement
DUME06

Bonjour

@DUME06 a écrit:

Lorsque je les ré-ouvre…

Si tu restes dans le même environnement (toujours avec win7 par ex.) le formatage est-il préservé ?

En tout cas, je ne connais pas d’autre moyen pour enregistrer la taille que d’ouvrir en mode édition, dimensionner, enregistrer, fermer (ce que tu fais semble-t-il…).

Cordialement

Merci PYS pour ta célérité
Avec WIN7; tant que je ne change pas de formulaire ; celui en cours conserve son formatage. Mais dès que j’en ouvre un autre il est perdu.
Lorsque j’utilise mon formulaire MENU, je dispose de plusieurs formulaires à lancer et de ce fait à chaque chargement le formatage précédent est perdu… :tired_face:.
Avec LINUX il ne conserve même pas le formatage du formulaire MENU… :rage:.
La seule solution que j’ai trouvé ;c’est de créer les formulaires au format proposé par défaut (mais je ne sais pas où celui ci est paramétré ???)
Avant, j’utilisais MS-access et je n’avais jamais rencontré ce PB…
En vous remerciant pour votre aide; je vous souhaite une bonne soirée
Bien amicalement
DUME06

Tu utilises un menu. Es-tu sûr qu’il n’y a pas d’interférence de macro ?

Merci PYS pour ton aide, mais j’ai essayé également avec un menu sans macros et le résultat est identique…je garde donc la paramétrage de la fenêtre par de faut et je modifie le Zoom…
Ce n’est pas très recommandable…mais on fait avec…
Je trouve vraiment LIBO-Base très très compliqué à gérer et à paramétrer; logiciel réservé à des programmeurs confirmés et non pas à des utilisateurs lambda…
Je suis retourné sous MS-access et en deux heures j’ai recréé et exécuté mon Job.
Encore merci et bonne journée à toi
Bien amicalement
DUME06

Bonjour,
Pour avoir une taille fixe, il faut créer une instruction qui fixe la taille à l’ouverture (c’est mon expérience sous Linux).
Exemple :
En fait je l’ai séparé en 2 macro d’instruction.
La première nommée Taille va donc envoyer l’ordre pour définir la taille et la position de la fenêtre. L’instruction est générique et pourra être utilisée pour n’importe quelle formulaire.
Et la deuxième instruction est créée pour chaque formulaire. Je définis simplement les 4 paramètres de taille et position puis elle lance la première instruction en lui passant ces paramètres.
C’est cette deuxième instruction que je vais simplement déclencher sur l’évènement “Lors du chargement” du formulaire : dans les propriétés du formulaire, aller à l’onglet évènements et sélectionner la 2e macro dans la boite de dialogue.
La taille de la fenêtre peut se modifier lors des changements d’enregistrement. Aussi, j’ai associé la même instruction (macro) à l’évènement “Avant le changement d’enregistrement”, au même endroit.

Sub Taille  (pX, pY, lr, Ht )  
on error goto Erreur
Dim bd as object, cw as object

bd = thiscomponent
cw = Thiscomponent.currentcontroller.Frame.Containerwindow

'Les 2 lignes ci-dessous mettent la fenêtre au coin supérieur gauche si la position (X et Y) n'a pas été indiquée
If isnull(pX) then pX = 0
If isnull(pY) then pY = 0

wait 20 'Permet de marcher !!!
cw.setPosSize(pX, pY, lr, Ht, com.sun.star.awt.PosSize.SIZE)

Exit sub

Erreur:
msgbox "Une erreur"

End sub

Le 2e :

Sub TailSaisiePhotos   'Vous donnez le nom que vous voulez mais ce sera le nom de macro à associer à l'évènement
Dim lr as Long, Ht as Long, pX as Long, pY as Long

pX = 150    'position X
pY = 150    'position Y
lr = 500    'largeur
Ht = 400    'hauteur

Taille (pX, pY, lr, Ht)     'c'est l'appel de la première instruction en lui passant les paramètres

end sub

Bonne suite.

Bonjour arverne73
Merci infiniment pour ta célérité et ton aide…
J’ai appliqué tes 2 macros et j’ai bien après quelques ajustements un affichage particulier pour chaque formulaire…c’est"SUPER" :grinning: :fu: :fu: :clap:
En te renouvelant tous mes remerciements; je te souhaite une agréable soirée.
Bien amicalement
DUME06

C’est un plaisir de pouvoir aider quand on a déjà trouvé la solution, sans être informaticien ou spécialiste du logiciel.
Bonne suite à vous.

Bonjour,
Je reprend ce fil qui m’a bien aidé pour mettre au point mes ouvertures de formulaires
Pour avoir une fenêtre “propre” j’ai assigné la macro suivante à l’évènement “Ouvrir document” du formulaire.

BlockquoteSub Ouvrir_Doc(oEvt As Object)
’ a placer dans Ouvrir Document
Dim oCW, oFrame, oLM as object
oFrame = oEvt.Source.CurrentController.Frame
oCW = oFrame.ContainerWindow
oLM = oFrame.LayoutManager

'xray oCW
'Document zoom type as a com.sun.star.view.DocumentZoomType

wait 200
Select Case LTrim(split(oEvt.Source.CurrentController.Title,":")(1))
’ X Y W H
Case “frmEvents”
oCW.setPosSize(150,120,600,350, com.sun.star.awt.PosSize.POSSIZE)
oFrame.Title=“Gestion des evènements”

End Select

If oEvt.Source.isSetModifiedEnabled = True Then
oLM.showElement(“private:resource/menubar/menubar”)
oLM.createElement(“private:resource/toolbar/formdesign”)
oLM.showElement(“private:resource/toolbar/formdesign”)
oLM.createElement(“private:resource/toolbar/formcontrols”)
oLM.showElement(“private:resource/toolbar/formcontrols”)
Else
oLM.hideElement(“private:resource/menubar/menubar”)
oLM.hideElement(“private:resource/toolbar/formdesign”)
oLM.hideElement(“private:resource/toolbar/formcontrols”)
’ oForm.CurrentController.ApplicationMainWindow.setVisible(False)
End If
wait 200
End sub

Je rencontre plusieurs “soucis”

  • l’ouverture se passe en 2 temps - la fenêtre s’affiche avec les dimensions de la précédente, puis dans les bonnes dimensions. Comment éviter ce “flash” ?

  • J’aimerais interdire la possibilité de redimensionner la fenêtre.
    Ouvrir_Fenetre.odb (12.3 KB)

Merci pour votre compréhension et votre aide