🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Menuleiste dauerhaft ausblenden

Alles zur Programmierung im LibreOffice.
Antworten
toni007
Beiträge: 34
Registriert: Mi 31. Okt 2012, 12:31

Menuleiste dauerhaft ausblenden

Beitrag von toni007 » Do 8. Dez 2016, 10:37

Hallo zusammen,

wir werden demnächst LO 5.2 einführen und ich habe in meiner Anwendung folgenden Effekt festgestellt:
Wenn ich mit der Maus über die Titelleiste fahre, wird die Menuleiste eingeblendet.

Zur Zeit ist es so, dass ich beim Öffnen der Anwendung (.ods) alle Leisten (Menu-, Status-, Symbolleisten, etc.) per Makro ausblende, da der Anwender nichts manipulieren darf.

Wie kann ich programmieren, dass beim 'hover' über die Titelleiste, die Menuleiste nicht eingeblendet wird?

Gruß Thomas

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Menuleiste dauerhaft ausblenden

Beitrag von gogo » Do 8. Dez 2016, 14:38

Wie blendest Du aus?

Code: Alles auswählen

SUB HideMenus()
	oFrame = Thiscomponent.currentController.Frame
	oLayout = oFrame.LayoutManager
	aLayoutManagerElements = oLayout.Elements

	for i = lbound(aLayoutManagerElements) to ubound(aLayoutManagerElements)
		oLayout.hideElement(aLayoutManagerElements(i).ResourceURL)
	next
END SUB
oder

Code: Alles auswählen

SUB HideMenus()
	Thiscomponent.currentController.Frame.LayoutManager.setVisible(false)
END SUB
oder ...?
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

toni007
Beiträge: 34
Registriert: Mi 31. Okt 2012, 12:31

Re: Menuleiste dauerhaft ausblenden

Beitrag von toni007 » Fr 9. Dez 2016, 12:29

Hi,

ich blende die Menuleiste folgendermaßen aus:

oLayMng = oView.Frame.LayoutManager
sMenuBar = "private:resource/menubar/menubar"
oLayMng.hideElement(sMenuBar)

Gruß Thomas

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Menuleiste dauerhaft ausblenden

Beitrag von gogo » Sa 10. Dez 2016, 10:59

Betriebssystem?

unter Win7 und Linux blendet ".LayoutManager.setVisible(false)" dauerhaft alles aus. ABER: ein Einblenden einzelner Komponenten (z.B: "private:resource/statusbar/statusbar") ist nicht möglich so lange .LayoutManager.visible=false ist.
...Wie kann ich programmieren, dass beim 'hover' über die Titelleiste, die Menuleiste nicht eingeblendet wird?...
ist nicht trivial. Der Effekt ist auch bei uns noch nicht aufgetreten.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

toni007
Beiträge: 34
Registriert: Mi 31. Okt 2012, 12:31

Re: Menuleiste dauerhaft ausblenden

Beitrag von toni007 » Do 15. Dez 2016, 09:46

Hallo,

wir nutzen Ubuntu 14.4.

Der 'hover'- Effekt tritt hier auch in anderen Anwendungen auf (z.B. Dateimanager):
Mit der Maus über die Titelleiste fahren und die Menuleiste wird eingeblendet. Dieser Effekt ist sicherlich gewollt (z.B. um Platz zu sparen).

Ich bin mir auch nicht sicher ob der Effekt in LO, der bei mir erst mit der Version 5.2.2 einsetzt, an LO liegt oder vielleicht an einer Ubuntu-Einstellung.

Gruß Thomas

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Menuleiste dauerhaft ausblenden

Beitrag von gogo » Fr 16. Dez 2016, 08:06

kann ich mir heute mal ansehen.
Prinzipiell müsste

Code: Alles auswählen

...
oLayMng.destroyElement(sMenuBar)
...
das Menü wohl dauerhaft entfernen.

btw.: "private:resource/sidebar/sidebar/" ist bei mir (LO 5.1) NICHT in der Frame.LayoutManager.Elements() Liste. Ich muss die explizit ausblenden, erhalte aber KEINEN Fehler.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Menuleiste dauerhaft ausblenden

Beitrag von gogo » Sa 17. Dez 2016, 11:47

toni007 hat geschrieben:Hi,

ich blende die Menuleiste folgendermaßen aus:

oLayMng = oView.Frame.LayoutManager
sMenuBar = "private:resource/menubar/menubar"
oLayMng.hideElement(sMenuBar)

Gruß Thomas
welches Objekt ist "oView"?
... und ich behaupte mal, dass man unter Unity die Menüleiste nicht ausblenden kann, da der Fenstermanager das Einblenden IN der Fensterdekoration (nicht "darunter") übernimmt. Das .hideElement() hat keine Auswirkungen, ein .destroyElement() bringt LO zum Absturz, in dem Moment wenn Unity wieder versucht auf die Menüleiste zuzugreifen. Dieser Desktop scheidet für's Ausblenden vermutlich aus...
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten