Dienst SFWidgets.ToolbarButton

Der Dienst ToolbarButton ermöglicht das Abrufen von Informationen zu den Symbolleistenschaltflächen, die in einer bestimmten Symbolleiste verfügbar sind. Mit diesem Service ist es möglich:

Dienstaufruf

Vor der Verwendung des Dienstes ToolbarButton muss die Bibliothek ScriptForge geladen oder importiert werden:

note

• Grundlegende Makros erfordern das Laden der Bibliothek ScriptForge mit der folgenden Anweisung:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Python-Skripte erfordern einen Import aus dem Modul scriptforge:
from scriptforge import CreateScriptService


Der Dienst ToolbarButton wird mit der Methode ToolbarButtons des Dienstes Toolbar aufgerufen.

In Basic

Das folgende Beispiel ruft die Namen aller in der Symbolleiste Standard verfügbaren Schaltflächen ab.


    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    arrToolbarButtons = oToolbar.ToolbarButtons()
    MsgBox SF_String.Represent(arrToolbarButtons)
  
tip

Die Verwendung der Methode ToolbarButtons ohne Argumente ruft eine Matrix mit allen verfügbaren Symbolleistenschaltflächennamen ab.


Das folgende Beispiel schaltet die Sichtbarkeit der Schaltfläche Drucken in der Symbolleiste Standard um:


    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    oToolbarButton = oToolbar.ToolbarButtons("Drucken")
    oToolbarButton.Visible = Not oToolbarButton.Visible
  
tip

Der als Argument an die Methode ToolbarButtons übergebene Schaltflächenname ist der lokalisierte Schaltflächenname, der im Dialog Extras – Anpassen… – Symbolleisten festgelegt ist.


note

Inaktive Symbolleisten verfügen über keine Schaltflächen. Daher wird die Symbolleiste durch den Aufruf der Methode ToolbarButtons sichtbar gemacht.


In Python

    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    toolbar = doc.Toolbars("standardbar")
    arr_toolbar_buttons = toolbar.ToolbarButtons()
    bas.MsgBox(repr(arr_toolbar_buttons))
  

    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    toolbar = doc.Toolbars("standardbar")
    toolbar_button = toolbar.ToolbarButtons("Drucken")
    toolbar_button.Visible = not toolbar_button.Visible
  

Einstellungen

Name

Schreibgeschützt

Typ

Beschreibung

Caption

Ja

String

Gibt den Namen der Schaltfläche zurück.

Height

Ja

Long

Gibt die Höhe der Schaltfläche in Pixeln zurück.

Index

Ja

Long

Gibt den Index der Schaltfläche in der übergeordneten Symbolleiste zurück.

OnClick

Nein

String

Der UNO-Befehl oder das UNO-Skript, das ausgeführt wird, wenn die Schaltfläche gedrückt wird. Lesen Sie die Wiki-Seite Scripting Framework URI Specification, um mehr darüber zu erfahren, wie Sie eine URI-Zeichenfolge definieren.

Parent

Ja

Dienst Toolbar

Gibt eine Dienstinstanz Toolbar zurück, die der übergeordneten Symbolleiste der aktuellen Symbolleistenschaltfläche entspricht.

TipText

Nein

String

Legt den Text des Tooltipps fest, der angezeigt wird, wenn der Benutzer mit der Maus über die Symbolleistenschaltfläche fährt.

Visible

Nein

Boolean

Legt fest, ob die Symbolleistenschaltfläche sichtbar ist oder nicht.

Width

Ja

Long

Gibt die Breite der Schaltfläche in Pixeln zurück.

X

Ja

Long

Gibt die X-Koordinate (horizontal) der oberen linken Ecke der Schaltfläche in Pixeln zurück.

Y

Ja

Long

Gibt die Y-Koordinate (vertikal) der oberen linken Ecke der Schaltfläche in Pixeln zurück.


Verwendung von ToolbarButton neben dem Dienst PopupMenu

Ein häufiger Anwendungsfall der oben beschriebenen Eigenschaften X und Y ist das Öffnen eines Popup-Menüs an der Position, an der sich die Symbolleistenschaltfläche befindet.

Angenommen, Sie erstellen das folgende Skript und verknüpfen es mit einer Schaltfläche namens „Meine Schaltfläche“ in der Symbolleiste Standard. Wenn Sie darauf klicken, wird ein Popup-Menü mit drei Optionen angezeigt, die der Benutzer auswählen kann.

In Basic

    Sub OpenPopupMenu()
        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        oDoc = CreateScriptService("Document", ThisComponent)
        oToolbar = oDoc.Toolbars("standardbar")
        oButton = oToolbar.ToolbarButtons("Meine Schaltfläche")
        oPopup = CreateScriptService("SFWidgets.PopupMenu", , oButton.X, oButton.Y + oButton.Height)
        oPopup.AddItem("Eintrag A", "A")
        oPopup.AddItem("Eintrag B", "B")
        oPopup.AddItem("Eintrag C", "C")
        strResponse = oPopup.Execute(False)
        MsgBox "Ihre Wahl: " & strResponse
    End Sub
  
In Python

    def open_popup_menu(args=None):
        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        toolbar = doc.Toolbars("standardbar")
        toolbutton = toolbar.ToolbarButtons("Meine Schaltfläche")
        popup = CreateScriptService("PopupMenu", None, toolbutton.X, toolbutton.Y + toolbutton.Height)
        popup.AddItem("Eintrag A", "A")
        popup.AddItem("Eintrag B", "B")
        popup.AddItem("Eintrag C", "C")
        response = popup.Execute(False)
        bas.MsgBox(f"Ihre Wahl: {response}")
  

Liste der Methoden im Dienst "ToolbarButton"

Execute


Execute

Führt den mit der Symbolleistenschaltfläche verknüpften Befehl oder das Skript aus.

Diese Methode gibt den Wert zurück, der vom ausgeführten Befehl oder Skript zurückgegeben wird.

tip

Verwenden Sie die Eigenschaft OnClick, um den Befehl oder das Skript zu bestimmen, der ausgeführt werden soll. Wenn der Befehl/das Skript keinen Wert zurückgibt, wird Null zurückgegeben.


Syntax:

svc.Execute(): any

Beispiel:

Das folgende Beispiel führt die Schaltfläche Drucken aus der Symbolleiste Standard aus:

In Basic

      oDoc = CreateScriptService("Document", ThisComponent)
      oToolbar = oDoc.Toolbars("standardbar")
      oToolbarButton = oToolbar.ToolbarButtons("Drucken")
      oToolbarButton.Execute()
    
In Python

      bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    toolbar = doc.Toolbars("standardbar")
    toolbar_button = toolbar.ToolbarButtons("Drucken")
    toolbar_button.Execute()
    
warning

Alle ScriptForge Basic-Routinen oder Bezeichner, denen ein Unterstrich "_" vorangestellt ist, sind für den internen Gebrauch reserviert. Sie sind nicht für die Verwendung in Basic-Makros oder Python-Skripten vorgesehen.


Bitte unterstützen Sie uns!