LibreOffice 25.2 Help
Met de service ToolbarButton kunt u informatie ophalen met betrekking tot de werkbalkknoppen die beschikbaar zijn in een bepaalde werkbalk. Met deze dienst is het mogelijk om:
Schakel de zichtbaarheid van werkbalkelementen in of uit.
Voer de opdracht uit die aan een bepaalde werkbalkknop is gekoppeld.
Voordat u de ToolbarButton-service gebruikt, moet de ScriptForge-bibliotheek worden geladen of geïmporteerd:
De service ToolbarButton wordt aangeroepen met de methode ToolbarButtons van de service Toolbar.
In het onderstaande voorbeeld worden de namen opgehaald van alle knoppen die beschikbaar zijn op de werkbalk .
    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    arrToolbarButtons = oToolbar.ToolbarButtons()
    MsgBox SF_String.Represent(arrToolbarButtons)
  Gebruik de methode ToolbarButtons zonder argumenten om een matrix op te halen met alle beschikbare namen van werkbalkknoppen.
In het onderstaande voorbeeld wordt de zichtbaarheid van de knop op de werkbalk gewijzigd:
    oDoc = CreateScriptService("Document", ThisComponent)
    oToolbar = oDoc.Toolbars("standardbar")
    oToolbarButton = oToolbar.ToolbarButtons("Afdrukken")
    oToolbarButton.Visible = Not oToolbarButton.Visible
  De knopnaam die als argument wordt doorgegeven aan de methode ToolbarButtons is de gelokaliseerde knopnaam die is gedefinieerd in het dialoogvenster .
Inactieve werkbalken hebben geen knoppen. Daarom zal het aanroepen van de methode ToolbarButtons de werkbalk zichtbaar maken.
    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("Afdrukken")
    toolbar_button.Visible = not toolbar_button.Visible
  | Naam | Alleen-lezen | Type | Beschrijving | 
|---|---|---|---|
| Caption | Ja | String | Geeft de naam van de knop terug. | 
| Height | Ja | Long | Retourneert de hoogte van de knop, in pixels. | 
| Index | Ja | Long | Retourneert de index van de knop in de bovenliggende werkbalk. | 
| OnClick | Nee | String | Het UNO-commando of -script dat wordt uitgevoerd wanneer de knop wordt ingedrukt. Lees de Wiki-pagina Scripting Framework URI-specificatie voor meer informatie over het definiëren van een URI-tekenreeks. | 
| Parent | Ja | Toolbar-service | Retourneert een service-instantie Toolbar die overeenkomt met de bovenliggende werkbalk van de huidige werkbalkknop. | 
| TipText | Nee | String | Specificeert de helptiptekst die wordt weergegeven wanneer de gebruiker over de werkbalkknop beweegt. | 
| Visible | Nee | Boolean | Specificeert of de werkbalkknop zichtbaar is of niet. | 
| Width | Ja | Long | Retourneert de breedte van de knop, in pixels. | 
| X | Ja | Long | Retourneert de X-coördinaat (horizontaal) van de linkerbovenhoek van de knop, in pixels. | 
| Y | Ja | Long | Retourneert de Y-coördinaat (verticale) van de linkerbovenhoek van de knop, in pixels. | 
Een veelvoorkomend gebruik van de hierboven beschreven eigenschappen X en Y is het openen van een pop-upmenu op de positie waar de werkbalkknop zich bevindt.
Stel dat u het onderstaande script maakt en dit koppelt aan een knop met de naam "Mijn knop" in de werkbalk Standaard. Wanneer erop wordt geklikt, wordt een pop-upmenu weergegeven met 3 opties waaruit de gebruiker kan kiezen.
    Sub OpenPopupMenu()
        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        oDoc = CreateScriptService("Document", ThisComponent)
        oToolbar = oDoc.Toolbars("standardbar")
        oButton = oToolbar.ToolbarButtons("My Button")
        oPopup = CreateScriptService("SFWidgets.PopupMenu", , oButton.X, oButton.Y + oButton.Height)
        oPopup.AddItem("Item A", "A")
        oPopup.AddItem("Item B", "B")
        oPopup.AddItem("Item C", "C")
        strResponse = oPopup.Execute(False)
        MsgBox "Uw keuze: " & strResponse
    End Sub
  
    def open_popup_menu(args=None):
        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        toolbar = doc.Toolbars("standardbar")
        toolbutton = toolbar.ToolbarButtons("Mijn knop")
        popup = CreateScriptService("PopupMenu", None, toolbutton.X, toolbutton.Y + toolbutton.Height)
        popup.AddItem("Item A", "A")
        popup.AddItem("Item B", "B")
        popup.AddItem("Item C", "C")
        response = popup.Execute(False)
        bas.MsgBox(f"Uw keuze: {response}")
  | Lijst met methodes in de ToolbarButton-service | ||
|---|---|---|
| 
 | 
 | |
Voert de opdracht of het script uit dat aan de werkbalkknop is gekoppeld.
Deze methode retourneert de waarde die wordt geretourneerd door de uitgevoerde opdracht of het script.
Gebruik de eigenschap OnClick om te bepalen welk commando of script moet worden uitgevoerd. Als het commando/script geen enkele waarde retourneert, wordt Null geretourneerd.
svc.Execute(): any
In het onderstaande voorbeeld wordt de knop uitgevoerd vanuit de werkbalk :
      oDoc = CreateScriptService("Document", ThisComponent)
      oToolbar = oDoc.Toolbars("standardbar")
      oToolbarButton = oToolbar.ToolbarButtons("Afdrukken")
      oToolbarButton.Execute()
    
      bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
    toolbar = doc.Toolbars("standardbar")
    toolbar_button = toolbar.ToolbarButtons("Afdrukken")
    toolbar_button.Execute()