weiss zufällig jemand, wie ich die Statuszeile eines Dokumentes per Basic komplett ausblenden kann?
Es gelingt mir zwar, alle Symboleisten und Menüeinträge auszublenden - leider bleibt die Statusleiste übrig - und wird auch noch ein wenig hochgesetzt - ins Dokument. Möglicherweise ein Fehler - aber vielleicht kennt ja jemand von Euch eine Lösung?
Hier ein Codesnipsel:
sub Menues_ausblenden
oLayMng = stardesktop.getActiveFrame().LayoutManager
oLayMng.visible = false
msgbox "ausgeblendet"
oLayMng.visible = true
end sub
Sub showbar
sStatusBar = "private:resource/statusbar/statusbar"
oLayMng = stardesktop.getActiveFrame().LayoutManager
oLayMng.destroyElement(sStatusBar)
msgbox "ausgeblendet"
oLayMng.createElement(sStatusBar)
End sub
sub Menues_ausblenden
oLayMng = starDesktop.getActiveFrame().LayoutManager
REM Statusleiste muss seperat ausgeblendet werden. Zugriff auf
REM das Stausleisten-Objekt
oDoc=starDesktop.getActiveFrame().getContainerWindow.AccessibleContext
For i = 0 to oDoc.getAccessibleChildCount()-1
iNr=oDoc.getAccessibleChild(i).AccessibleContext.AccessibleRole
if iNr=com.sun.star.accessibility.AccessibleRole.STATUS_BAR then
oStB = oDoc.getAccessibleChild(i)
exit for
end if
next
REM jetzt ausblenden
oLayMng.visible = false
oStB.visible = false
msgbox "ausgeblendet"
REM nicht vergessen, wieder einzublenden
oLayMng.visible = true
oStB.visible = true
end sub
Danke für deine Variante - könne ich auch nutzen. Brauche nämlich den Statusbalken nicht.
Aber - ich will mal nicht so "brutal" sein - und lasse ihn im HIntergrund "schmoren".
das Makro ist genau das was ich suche, ich würde es nur gern in 2 Teile aufsplitten.
Als Startmakro / alle Symbolleisten sind deaktiviert
Als Endmakro / beim beenden werden alle Symbolleisten wieder hergestellt.
ich hab schon probiert es zu teilen, bekomme aber immer eine Fehlermeldung
(meine Makrokenntnisse beschränken sich bisher nur auf den Makrorecorder, keine Programmierkenntnisse...9
Wenn du es trennen willst, musst du natürlich alle relevanten Teile dennoch drin haben. Da ist es besser, eine "Weiche" einzubauen und unterschiedliche Startmakros:
sub menues_aus 'das startmakro zum ausblenden
Menues_ausblenden(true)
end sub
sub menues_ein 'das endmakro zum einblenden
Menues_ausblenden(true)
end sub
sub Menues_ausblenden(bFlag as Boolean)
oLayMng = starDesktop.getActiveFrame().LayoutManager
REM Statusleiste muss seperat ausgeblendet werden. Zugriff auf
REM das Stausleisten-Objekt
oDoc=starDesktop.getActiveFrame().getContainerWindow.AccessibleContext
For i = 0 to oDoc.getAccessibleChildCount()-1
iNr=oDoc.getAccessibleChild(i).AccessibleContext.AccessibleRole
if iNr=com.sun.star.accessibility.AccessibleRole.STATUS_BAR then
oStB = oDoc.getAccessibleChild(i)
exit for
end if
next
if bFlag then
REM jetzt ausblenden
oLayMng.visible = false
oStB.visible = false
else
REM nicht vergessen, wieder einzublenden
oLayMng.visible = true
oStB.visible = true
end if
end sub
Aber die Makros hier sind sowieso nur "Musterbeispiele" und sollten immer individuell angepasst werden.
Jetzt würde ich gern noch das Tabellenregister ausblenden, hab aber weder in den Foren noch in den diversen Handbüchern bzw. FAQ was Hilfreiches gefunden...