[Base] Réduire la fenêtre principale à l'ouverture et rétablir à la fermeture

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Avatar de l’utilisateur
arverne73
Membre OOrganisé
Membre OOrganisé
Messages : 85
Inscription : 30 mars 2012 16:13
Localisation : Savoie, France

[Base] Réduire la fenêtre principale à l'ouverture et rétablir à la fermeture

Message par arverne73 »


La modération vous a écrit: Suppression de l'icône Image
Les icônes mises à votre disposition ont une signification précise sur ce forum.
Veuillez consulter ce fil pour en savoir plus : ftopic3299.html

Bonjour.
Il ne s'agit pas d'une question mais d'une suggestion.
  • L'idée : Dans une application Base aboutie, la fenêtre principale n'est pas utilisée par l'utilisateur lambda qui va travailler avec des formulaires. Elle risque donc d'encombrer l'écran de façon inutile ;
  • Objectifs : Réduire la fenêtre principale à l'ouverture à son icône (dans le Dock sur Linux Ubuntu ou Mac, dans la barre des tâches, je suppose, pour Windows). Mais rétablir cette fenêtre quand l'utilisateur va fermer son dernier formulaire pour qu'il pense à quitter Base ;
  • Commandes :
Réduire la fenêtre principale à son icône est exécuté par une seule ligne de commande :

Code : Tout sélectionner

StarDesktop.CurrentFrame.ContainerWindow.IsMinimized = True
Bien évidemment, cette première commande devrait logiquement être suivie par une seconde ouvrant un premier formulaire de travail… sinon cela est inutile et l'utilisateur ne peut rien faire ou risque de croire que le lancement a échoué.

A la fermeture du dernier formulaire, il faut faire ré-apparaître la fenêtre principale. Deux lignes de commande sont nécessaire à cela :

Code : Tout sélectionner

ThisDatabaseDocument.CurrentController.ApplicationMainWindow.setfocus
StarDesktop.CurrentFrame.ContainerWindow.IsMinimized = False
La première met le focus sur cette fenêtre réduite pour que la 2e puisse le rétablir.

Je vous joins un fichier qui met en œuvre ces petites commandes (dans une base qui n'a aucune table). Il y a 2 autres instructions dans ce fichier qui servent à fixer la taille du seul formulaire, mais c'est hors sujet ici.
Les évènements auxquels sont associées les instructions sont à chercher dans le menu Outils -> Personnaliser… de la fenêtre principale et du formulaire et non pas dans les évènements du formulaire ou du bouton.

Bien cordialement.
Réduire_rétablir_fen_princip.odb
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 25.2.3 sur Ubuntu 25.04 GNOME (version officielle). Base en frontale d'une base MySQL ; échec liaison directe => liaison JDBC.
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1148
Inscription : 19 août 2018 05:20

Re: [Base] Réduire la fenêtre principale à l'ouverture et rétablir à la fermeture

Message par Dolev »

Bonjour,

Je pense que l'essentiel a déjà été donné ici : viewtopic.php?t=45997
Open Office 4.1.15 sous Windows 11
Avatar de l’utilisateur
arverne73
Membre OOrganisé
Membre OOrganisé
Messages : 85
Inscription : 30 mars 2012 16:13
Localisation : Savoie, France

Re: [Base] Réduire la fenêtre principale à l'ouverture et rétablir à la fermeture

Message par arverne73 »

Effectivement, je n'avais pas vu ce fil dans ce cadre.
Néanmoins, il y a beaucoup de code avec une commande qui plante systématiquement :

Code : Tout sélectionner

ThisDatabaseDocument.close(True)
Donc, à éviter.

Et pour le modérateur, j'avais mis l’icône Résolu dans la mesure où je ne posais pas une question… Je ne savais pas trop comment gérer mon message.
LibreOffice 25.2.3 sur Ubuntu 25.04 GNOME (version officielle). Base en frontale d'une base MySQL ; échec liaison directe => liaison JDBC.
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9836
Inscription : 28 août 2010 08:45

Re: [Base] Réduire la fenêtre principale à l'ouverture et rétablir à la fermeture

Message par micmac »

Bonjour,
arverne73 a écrit : 15 juin 2025 19:47 Et pour le modérateur, j'avais mis l’icône Résolu...
Inscrit depuis 2012, vous ne connaissez pas Comment clore un sujet lorsqu'il est résolu.
L'icône seule ne suffit pas. L'icône Image doit être accompagnée de la balise [Résolu].
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Avatar de l’utilisateur
arverne73
Membre OOrganisé
Membre OOrganisé
Messages : 85
Inscription : 30 mars 2012 16:13
Localisation : Savoie, France

Re: [Base] Réduire la fenêtre principale à l'ouverture et rétablir à la fermeture

Message par arverne73 »

Si j'avais bien vu… depuis 2012, mais peut être pas assez intelligent pour savoir comment gérer mon intervention qui n'était pas une question… Désolé de ne pas être spécialiste de la sémantique locale.
Mais je vais progresser 8)
LibreOffice 25.2.3 sur Ubuntu 25.04 GNOME (version officielle). Base en frontale d'une base MySQL ; échec liaison directe => liaison JDBC.
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25994
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Réduire la fenêtre principale à l'ouverture et rétablir à la fermeture

Message par Dude »

Salut,
arverne73 a écrit : 15 juin 2025 15:04 Il ne s'agit pas d'une question mais d'une suggestion.
Pourquoi ne pas enrichir la documentation avec ta suggestion ?
Cela fait partie de la philosophie du logiciel libre. :roll:
Merci d'ajouter ton exemple dans la page du Wiki concernée.
arverne73 a écrit : 15 juin 2025 19:47 Néanmoins, il y a beaucoup de code avec une commande qui plante systématiquement
Parce que fermer un ODB avec une macro embarquée dans l'ODB en est la cause logique.
Le seul moyen de réaliser une application autonome est d'avoir un formulaire externe à la base.
Comme c'est le cas avec GestOOck.