Tjenesten SFWidgets.ToolbarButton

ToolbarButton-tjenesten giver mulighed for at hente information relateret til de værktøjslinjeknapper, som er tilgængelige i en given værktøjslinje. Med denne tjeneste er det muligt at:

Kald af tjeneste

Før du bruger ToolbarButton-tjenesten skal ScriptForge-biblioteket være indlæst eller importeret:

note

• Basic-makroer kræver, at biblioteket ScriptForge indlæses med følgende udtryk:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Python-scripts kræver import af scriptforge-modulet:
from scriptforge import CreateScriptService


Tjenesten ToolbarButton kaldes med metoden ToolbarButtons fra Toolbar-tjenesten.

I Basic

Eksemplet herunder henter navnene på alle tilgængelige knapper i Standard-værktøjslinjen.


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

Brug metoden ToolbarButtons uden argumenter for at hente et array med navne på alle tilgængelige knapper.


Eksemplet nedenfor skifter mellem synlighed eller ej af Udskriv-knappen i Standard-værktøjslinjen.


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

Knapnavnet, der blev sendt som argument til ToolbarButtons-metoden er det lokaliserede (oversatte) knapnavn defineret i Funktioner ▸ Tilpas ▸ Værktøjslinjer-dialogen.


note

Inaktive værktøjslinjer har ikke knapper. Derfor vil kald af ToolbarButtons-metoden gøre værktøjslinjen synlig.


I 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("Udskriv")
    toolbar_button.Visible = not toolbar_button.Visible
  

Egenskaber

Navn

Skrivebeskyttet

Type

Beskrivelse

Caption

Ja

String

Returnerer navnet på knappen.

Height

Ja

Long

Returnerer knappens højde i pixels.

Index

Ja

Long

Returnerer indekset for knappen i dens overordnede værktøjslinje.

OnClick

Nej

String

UNO-kommandoen eller UNO-scriptet udføres, når knappen trykkes. Læs wikisiden Scripting Framework URI Specification for at lære mere om, hvordan du definerer en URI-streng (Uniform Ressource Identifier).

Parent

Ja

Tjenesten Toolbar

Returnerer en instans af Toolbar-tjenesten, som svarer til den overordnede værktøjslinje for den aktuelle værktøjslinjeknap.

TipText

Nej

String

Specificerer værktøjstippet, der vises når brugeren holder musemarkøren over værktøjsknappen.

Visible

Nej

Boolean

Angiver, om knappen på værktøjslinjen er synlig eller ej.

Width

Ja

Long

Returnerer knappens bredde i pixels.

X

Ja

Long

Returnerer X-koordinaten (vandret) for knappens øverste venstre hjørne i pixels.

Y

Ja

Long

Returnerer Y-koordinaten (lodret) for knappens øverste venstre hjørne i pixels.


Brug af ToolbarButton sammen med PopupMenu-tjenesten

En hyppig brug af egenskaberne X og Y beskrevet ovenfor er at åbne en popup-menu på det sted, hvor værktøjslinjeknappen er placeret.

Antag at du opretter scriptet nedenfor og knytter det til en knap med navnet "Min knap" i standardlinjen. Når der klikkes på knappen, vises en menu med 3 muligheder, som brugeren kan vælge imellem.

I Basic

    Sub OpenPopupMenu()
        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        oDoc = CreateScriptService("Document", ThisComponent)
        oToolbar = oDoc.Toolbars("standardbar")
        oButton = oToolbar.ToolbarButtons("Min knap")
        oPopup = CreateScriptService("SFWidgets.PopupMenu", , oButton.X, oButton.Y + oButton.Height)
        oPopup.AddItem("Mulighed A", "A")
        oPopup.AddItem("Mulighed B", "B")
        oPopup.AddItem("Mulighed C", "C")
        strResponse = oPopup.Execute(False)
        MsgBox "Dit valg: " & strResponse
    End Sub
  
I Python

    def open_popup_menu(args=None):
        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        toolbar = doc.Toolbars("standardbar")
        toolbutton = toolbar.ToolbarButtons("Min knap")
        popup = CreateScriptService("PopupMenu", None, toolbutton.X, toolbutton.Y + toolbutton.Height)
        popup.AddItem("Mulighed A", "A")
        popup.AddItem("Mulighed B", "B")
        popup.AddItem("Mulighed C", "C")
        response = popup.Execute(False)
        bas.MsgBox(f"Dit valg: {response}")
  

Liste over metoder i tjenesten ToolbarButton

Execute


Execute

Udfører kommandoen eller scriptet, der er knyttet til knappen på værktøjslinjen.

Denne metode returnerer den værdi, der returneres af den udførte kommando eller script.

tip

Brug egenskaben OnClick (ved_klik) til at fastlægge den kommando eller det script, som skal udføres. Hvis kommandoen/scriptet ikke returnerer nogen værdi, så returneres Null.


Syntaks:

svc.Execute(): any

Eksempel:

Eksemplet herunder udfører Udskriv-knappen fra Standard-værktøjslinjen:

I Basic

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

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

Alle ScriptForge Basic-rutiner eller identifikatorer, der indledes med et understregstegn "_" er reserveret til internt brug. Det er ikke meningen, at de skal bruges i Basic-makroer eller Python-scripts.


Støt os venligst!