Zugriff auf Elemente des Layoutmanagers

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zugriff auf Elemente des Layoutmanagers

Re: Zugriff auf Elemente des Layoutmanagers

von gogo » So, 03.04.2011 22:07

manchmal ist es nur ein kleines Brett, das die Sicht verwehrt ;)

... ich wollte ja unbedingt über die Methode .getElements zugreifen, dass es auch über die Property .Elements geht ...

thx, jedenfalls. Das Spreadsheet werd' ich mir morgen zum Vormittagskaffee gönnen.

g

Re: Zugriff auf Elemente des Layoutmanagers

von Axel Richter » So, 03.04.2011 07:35

Hallo,
gogo hat geschrieben:und wenn nur Namen möglich sind: kann man die Liste dieser Namen (also die Bezeichnungen von Statuszeile, Menüleiste und aller Symbolleisten) irgendwo auslesen?
Klar kann man das. Du schreibst doch selbst:
gogo hat geschrieben:Thiscomponent.currentController.Frame.LayoutManager.getElements
... ist ein Array, dessen Größe man mit lbound() und ubound() bestimmen kann
Blende also die Sysmbolleisten ein, die Du haben willst und lass Dir dann die Namen ausgeben.

Code: Alles auswählen

Sub getAllLayoutManagerElementsResourceURLs()
oLayoutManager = ThisComponent.CurrentController.Frame.LayoutManager
'xray oLayoutManager
aLayoutManagerElements = oLayoutManager.Elements
for i = lbound(aLayoutManagerElements) to ubound(aLayoutManagerElements)
 MsgBox aLayoutManagerElements(i).ResourceURL
next
End Sub
Zum nachlesen: http://wiki.services.openoffice.org/wik ... ementation
gogo hat geschrieben:wie man mit Starbasic an das Kontextmenü rankommt?
Man kommt ran, aber nicht schön, weil die (XPropertySet)com.sun.star.ui.ActionTrigger-Objekte nur mit Tricks per Starbasic komplett greifbar sind. Es gibt da einige Versuche im Netz, die zunächst irgendwelche anderen XPropertySets erstellen, die dann ins Kontextmenü hängen, in der Hoffnung, dass die dort dann als com.sun.star.ui.ActionTrigger-Objekte erkannt werden. Hier z.B. http://codesnippets.services.openoffice ... eptor.snip.

Meine Versuche haben ergeben, dass es aber auch einfacher geht, denn auf die com.sun.star.ui.ActionTrigger-Objekte kann per Starbasic komplett zugegriffen werden, wenn man diese, nach dem Erzeugen, zunächst ins Kontextmenü einhängt, dann von dort wieder ausliest, bearbeitet und wieder einhängt. Nicht schön, aber es funktioniert. Siehe Anlage.

viele Grüße

Axel
Dateianhänge
LayoutManagerContextMenu.ods
(9.24 KiB) 88-mal heruntergeladen

Zugriff auf Elemente des Layoutmanagers

von gogo » Fr, 01.04.2011 23:07

Hallo,

kann man auf die Elemente des Layout-Managers wirklich nur zugreifen wenn man sie beim Namen kennt?

Code: Alles auswählen

Thiscomponent.currentController.Frame.LayoutManager.getElement("private:resource/toolbar/standardbar")

Code: Alles auswählen

Thiscomponent.currentController.Frame.LayoutManager.getElements
... ist ein Array, dessen Größe man mit lbound() und ubound() bestimmen kann, aber Indexzugriff habe ich keinen gefunden :(

und wenn nur Namen möglich sind: kann man die Liste dieser Namen (also die Bezeichnungen von Statuszeile, Menüleiste und aller Symbolleisten) irgendwo auslesen?

ach ja: wer diese Fragen beantworten kann, der weiß wahrscheinlich auch wie man mit Starbasic an das Kontextmenü rankommt?

g

Nach oben