Tenesta SFDialogs.Dialog

Tenesta Dialog bidreg til handsaminga av dialogar oppretta med Basic lDialog Editor eller dialogar som er oppretta direkte. Kvar fÞrekomst av den nÄverande klassen representerer éin dialogboks som vert vist for brukaren.

tip

Ein dialogboks kan visast i modal eller ikkje-modal modus.


I modal modus vert boksen vist og utfÞringa av makroprosessen vert utsett til ein av OK- eller Avbryt -knappane vert trykt pÄ. I mellomtida kan brukarhandlingar utfÞrt pÄ boksen lÞysa ut spesifikke handlingar.

I ikkje-modal modus er dialogvindauget «flytande» pÄ brukarskrivebordet, og kÞyringa av makroprosessen held fram som normalt. Eit ikkje-modalt dialogvindauge vert lukka nÄr den vert avslutta med Terminate()-metoden eller nÄr LibreOfficeDev-Þkta vert avslutta. Lukkeknappen for vindauget er inaktiv i ikkje-modale dialogvindauge.

Eit dialogvindauge forsvinn frÄ minnet etter eksplisitt avslutning.

tip

Tenesta SFDialogs.Dialog er i nĂŠrt slektskap med tenesta SFDialogs.DialogControl.


Oppkall og bruk av tenester

FÞr du brukar Dialog-tenesta, mÄ ScriptForge-biblioteket lastast inn eller importerast:

note

‱ Grunnleggjande makroar krev innlasting av biblioteket ScriptForge ved hjelp av denne setninga:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

‱ Python-skript krev import frĂ„ scriptforge-modulen:
from scriptforge import CreateScriptService


Tenesta Dialog vert kalla opp med metoden CreateScriptService. Ho krev tre supplerande posisjons-argument for Ă„ spesifisera dialogvindauget som skal opnast.

Container: "GlobalScope" for fÞrehandsinstallerte bibliotek eller eit vindaugenamn som er definert av tenesta ScriptForge.UI. Standardverdien tom streng "" stÄr for det gjeldande dokumentet.

Bibliotek: Biblioteknamn (som skil mellom store og smÄ bokstavar) finst i behaldaren. Standardverdien er «Standard».

Dialognamn: Ein streng som skil mellom store og smÄ bokstavar, gjev dialogvindauget.

Eksempla nedanfor i Basic og Python viser dialogvindauget dlgConsole, som hĂžyrer til det delte biblioteket ScriptForge:


      Dim oDlg As Object, lButton As Long
      Dim Container As String, Library As String, DialogName As String
      Set oDlg = CreateScriptService("SFDialogs.Dialog", "GlobalScope", "ScriptForge", "dlgConsole")
      ' 
 initialisering av kontrollelementa vert skrivne her

      lButton = oDlg.Execute()
      ' Standardmodus = Modal
      If lButton = oDlg.OKBUTTON Then
      ' 
 Handsama kontrollelementa og gjera det som trengst her
      End If
      oDlg.Terminate()
  

Eller med Python:


    dlg = CreateScriptService('SFDialogs.Dialog', 'GlobalScope', 'ScriptForge', 'dlgConsole')
    ' 
 initialisering av kontrollelementa vert skrivne her

    rc = dlg.Execute()
    ' Standardmodus er Modal
    if rc == dlg.OKBUTTON:
        ' 
 Handsama kontrollelementa og gjera det som trengst her
    dlg.Terminate()
  
note

Bruk strengen «GlobalScope» som container-argumentet nÄr dialogvindauget er lagra anten i Mine makroar og dialogvindauge eller i Programmakroar og dialogvindauge.


tip

Dialogtenesta tilbyr metodar som opprettar nye kontrollar dynamisk i ein eksisterande dialog fĂžrehandsdefinert med Dialogredigering. Eit dialogvindauge vert initialisert med kontrollar i dialogredigeringa, og nye kontrollar kan leggjast til under kĂžyring fĂžr eller etter dialoguttrykket Execute().


Tenesta Dialog kan pĂ„ same mĂ„te pĂ„kallast ‒ gjennom metoden CreateScriptService ‒ nĂ„r du opprettar dialogar undervegs. Det krev to supplerande posisjonsargument etter namnet pĂ„ ad-hoc-tenesta «NewDialog»:

Dialognamn: Ein streng som skil mellom store og smÄ bokstavar, angjev dialogvindauget.

Place: Plasseringa av dialogvindauget i vindauget, er anten:

All elements are expressed in Map AppFont-einingar.


    Sub newDialog()
        Dim oDlg As Object
       oDlg = CreateScriptService("NewDialog", "myDialog1", Array(100,200, 40, 110))
       ' ...
    End Sub
  

Eller med Python:


    def newDialog():
       dlg = CreateScriptService('NewDialog', 'myDialog1', (100,200, 40, 110))
       # 
 Handsama kontrollelementa og gjera det som trengst her
  

All properties and methods applicable to predefined dialogs are available for such new dialogs. In particular the series of CreateXXX() methods for the addition of new dialog controls.

Hentar dialogfĂžrekomsten som lĂžyste ut ei dialoghending

Du kan henta ein fĂžrekomst av tenesta Dialog via tenesta SFDialogs.DialogEvent viss dialogvindauget vart opna med tenesta Dialog. I eksempelet nedanfor inneheld fĂžrekomsten av oDlg fĂžrekomsten av Dialog som utlĂžyste dialoghendinga.


    Sub aDialogEventHander(ByRef poEvent As Object)
        Dim oDlg As Object
        Set oDlg = CreateScriptService("SFDialogs.DialogEvent", poEvent)
        ' ...
    End Sub
  

Eller bruka Python:


    def control_event_handler(event: uno):
        dlg = CreateScriptService("SFDialogs.DialogEvent", event)
        # ...
  

Merk at i dei tidlegare eksempla kan prefikset «SFDialogs.» slÞyfast nÄr det passar best.

Handsaming av unnatak i hendingshandsamarane

NÄr du opprettar ein hendingshandsamar for dialoghendingar, er det god praksis Ä handsama feil inne i sjÞlve underrutinen.For eksempel gÄr du ut frÄ at hendingshandsamaren nedanfor vert kalla opp nÄr museknappen vert trykt i dialogvindauget.


    Sub OnMouseButtonPressed(ByRef oEvent As Object)
    On Local Error GoTo Catch
        Dim oDialog As Object
        oDialog = CreateScriptService("DialogEvent", oEvent)
        ' KĂžyr hendinga
        Exit Sub
    Catch:
        MsgBox SF_Exception.Description
        SF_Exception.Clear
    End Sub
  
tip

Kall opp SF_Exception.Clear viss du ikkje vil at feilen skal overfĂžrast vidare etter at dialogvindauget er avslutta.


I Python brukar du native try/except-blokker for unntakshandsaming som vist nedanfor:


    def on_mouse_button_pressed(event=None):
        try:
            dlg = CreateScriptService("DialogEvent", event)
            # KĂžyr hendinga
        except Exception as e:
            # Objektet «oBase» er ein fÞrekomst av Basic-tenesta
            bas.MsgBox(str(e))
  

Eigenskapar

Namn

Skriveverna

Type

Beskriving

OKBUTTON

Ja

Integer

Verdi = 1. Der vart trykt pÄ ein OK-knapp.

CANCELBUTTON

Ja

Integer

Verdi = 0. Der vart trykt pÄ ein Avbryt-knapp.

Caption

Nei

String

Spesifiser tittelen pÄ dialogvindauget.

Height

Nei

Long

Spesifiser hÞgda pÄ dialogvindauget.

Modal

Ja

Boolean

Viser om dialogvindauget vert kĂžyrd i modal-modus.

Name

Ja

String

Namnet pÄ dialogvindauget

Page

Nei

Integer

Eit dialogvindauge kan ha fleire sider som brukaren kan gÄ gjennom steg for steg. Kva side i dialogvindauget som er gjeldande, vert definert i sideeigenskapen.

Visible

Nei

Boolean

Spesifiserer om dialogvindauget er synleg pÄ skrivebordet. Som standard er han ikkje synleg fÞr etter at metoden Execute() er utfÞrt.

XDialogModel

Ja

UNO
object

Det UNO-objektet som representer modellen for dialogvindauget. SjÄ detaljert informasjon i XControlModel og UnoControlDialogModel i dokumentasjonen for API-en ( Application Programming Interface).

XDialogView

Ja

UNO
object

Det UNO-objektet som representer modellen for dialogvindauget. SjÄ detaljert informasjon i XControlModel og UnoControlDialogModel i dokumentasjonen for API-en ( Application Programming Interface).

Width

Nei

Long

Spesifiser breidda pÄ dialogvindauget.


Hendingseigenskapar

Eigenskapane On... returnerer ein URI-streng med referansen til skriptet som vert utlĂžyst av hendinga. On...-eigenskapar kan gjevast programmatisk.
Les spesifikasjonen i scripting framework URI-specifikation.

Skriv inn eit namn for objektet

Read/Write

Basic IDE-beskriving

OnFocusGained

Ja

NÄr han fÄr fokus

OnFocusLost

Ja

NÄr han mistar fokus

OnKeyPressed

Ja

Ved tastetrykk

OnKeyReleased

Ja

Etter tastetrykk

OnMouseDragged

Ja

MuserĂžrsle medan ein tast er trykt

OnMouseEntered

Ja

Mus innanfor

OnMouseExited

Ja

Mus utanfor

OnMouseMoved

Ja

Mus flytt

OnMousePressed

Ja

Museknapp trykt ned

OnMouseReleased

Ja

Museknapp sloppe


warning

Tilordning av hendingar via Basic IDE og tilordning av hendingar via makroar utelukkar kvarandre.


Liste over metodar i tenesta Dialog

Activate
Center
Controls
CloneControl
CreateButton
CreateCheckBox
CreateComboBox
CreateCurrencyField
CreateDateField
CreateFileControl
CreateFixedLine

CreateFixedText
CreateFormattedField
CreateGroupBox
CreateHyperlink
CreateImageControl
CreateListBox
CreateNumericField
CreatePatternField
CreateProgressBar
CreateRadioButton
CreateScrollBar

CreateTableControl
CreateTextField
CreateTimeField
CreateTreeControl
EndExecute
Execute
GetTextsFromL10N
Resize
OrderTabs
SetPageManager
Terminate


note

Dimensjonering av eit dialogvindauge vert gjort ved Ä bruka Map AppFont-einingar. Eit dialogvindauge eller kontrollmodell brukar ogsÄ AppFont-einingar, medan visinga av dei brukar pikslar.


Activate

Set fokus pÄ det gjeldande dialogvindauget. Returner Sann viss fokuseringa lukkast.

Denne metoden vert kalla opp frÄ eit dialogvindauge, ei kontrollhending eller nÄr det vert vist eit dialogvindauge i ikkje-modal modus.

Syntaks:

svc.Activate(): bool

Eksempel:


      Dim oDlg As Object
      Set oDlg = CreateScriptService(,, "myDialog")
      oDlg.Execute()
      ' ...
      oDlg.Activate()
   

BÄde Python- og LibreOfficeDev-Basic-eksempla gÄr ut frÄ at dialogvidauget er lagra i Standard-biblioteket i det gjeldande dokument.


     dlg = CreateScriptService(,,'myDialog')
     dlg.Execute()
     # ...
     dlg.Activate()
   

Center

Sentrerer det gjeldande dialogvindauget i midten av eit overordna vindauge. Utan argument sentrerer metoden dialogvindauget i midten av det gjeldande vindauget.

Returnerer Sann nÄr han lukkast.

Syntaks:

svc.Center(opt Parent: obj): bool

Parametrar:

Overordna: Eit valfritt objekt som kan vera anten


Eksempel:

I Basic

     Sub TriggerEvent(oEvent As Object)
         Dim oDialog1 As Object, oDialog2 As Object, lExec As Long
         Set oDialog1 = CreateScriptService("DialogEvent", oEvent) ' Dialogvindauget som var Ärsaka til hendinga
         Set oDialog2 = CreateScriptService("Dialog", ...) ' Opnar eit anna dialogvindauge
         oDialog2.Center(oDialog1)
         lExec = oDialog2.Execute()
         Select Case lExec
             ...
     End Sub
  
I Python

     def triggerEvent(event: uno):
       dlg1 = CreateScriptService('DialogEvent.Dialog', hendelse) # Dialogvindauget som var Ärsaka til hendinga
       dlg2 = CreateScriptService("Dialog", ...) # Opnar eit anna dialogvindauge
       dlg2.Center(dlg1)
       rc = dlg2.Execute()
       if rc is False:
         # ...
   

CloneControl

Duplicate an existing control of any type in the actual dialog. The duplicated control is left unchanged and can be relocated.

Syntaks:

svc.CloneControl(SourceName: str, ControlName: str, Left: num, Top: num): svc

Parametrar:

SourceName: Namnet pÄ kontrollelementet som skal dupliserast.

Kontrollnamn: Eit gyldig kontrollnamn som ein streng som skil mellom store og smÄ bokstavar. Det treng ikkje finnast ennÄ.

Venstre, Topp: Koordinata for det nye kontrollelementet uttrykt i Map AppFont-einingar.

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

      Set myButton2 = oDlg.CloneControl("Button1", "Button2", 30, 30)
   
I Python

     dlg = dlg.CloneControl('Button1', 'Button2', 30, 30)
   

Controls

Returner anten:

Syntaks:

svc.Controls(): str[0..*]

svc.Controls(controlname: str): svc

Parametrar:

KontrolNamn: Eit gyldig kontrollnamn som ein streng (som skil mellom smÄ og store bokstavar). Viss denne manglar vert lista over kontrollnamn returnert som ei nullbasert matrise.

Eksempel:


      Dim myDialog As Object, myList As Variant, myControl As Object
      Set myDialog = CreateScriptService("SFDialogs.Dialog", , "Standard", "Dialog1")
      myList = myDialog.Controls()
      Set myControl = myDialog.Controls("myTextBox")
   

     dlg = CreateScriptService('SFDialogs.Dialog','', 'Standard', 'Dialog1')
     ctrls = dlg.Controls()
     ctrl = dlg.Controls('myTextBox')
   

CreateButton

Lagar eit nytt kontrollelement av typen Knapp i det gjeldande dialogvindauget.

Syntaks:

svc.CreateButton(ControlName: str, Place: any, Toggle: bool = False, Push: str = ""): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Toggle: nÄr Sann vert det laga eit skiftebrytar. Standard = Usann

Push: "OK", "CANCEL" eller "" (standard)

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myButton = oDlg.CreateButton("Button1", Array(20, 20, 60, 15))
   
I Python

     myButton = dlg.CreateButton('Button1', (20, 20, 60, 15))
   

CreateCheckBox

Lagar eit nytt kontrollelement av typen Avkryssingsboks i det gjeldande dialogvindauget.

Syntaks:

svc.CreateCheckBox(ControlName: str, Place: any, Multiline: bool = False): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

MultiLine: NÄr Sann (standard = Usann), kan biletteksten visast pÄ meir enn éi linje.

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myCheckBox = oDlg.CreateCheckBox("CheckBox1", Array(20, 20, 60, 15), MultiLine := True)
   
I Python

     myCheckBox = dlg.CreateCheckBox('CheckBox1', (20, 20, 60, 15), MultiLine = True)
   

CreateComboBox

Lagar eit nytt kontrollelement av typen Kombinasjonsboks i det gjeldande dialogvindauget.

Syntaks:

svc.CreateComboBox(ControlName: str, Place: any, Border: str = "3D", DropDown: bool = True, LineCount: num = 5): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

DropDown: NÄr Sann (standard), vert det vist ein nedtrekksknapp.

LineCount: Spesifiserer det hÞgste talet pÄ linjer vist i nedtrekket (standard = 5)

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myComboBox = oDlg.CreateComboBox("ComboBox1", Array(20, 20, 60, 15), Dropdown := True)
   
I Python

     myComboBox = dlg.CreateComboBox('ComboBox1', (20, 20, 60, 15), Dropdown = True)
   

CreateCurrencyField

Lagar eit nytt kontrollelement av typen Valutafelt i det gjeldande dialogvindauget.

Syntaks:

svc.CreateCurrencyField(ControlName: str, Place: any, Border ="3D", SpinButton: bool = False, MinValue: num = -1000000, MaxValue: num = +1000000, Increment: num = 1, Accuracy: num = 2): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

SpinButton: nÄr Sann (standard = Usann) finst det ein rulleknapp

MinValue: den lÄgaste verdien som kan skrivast inn i kontrollelementet. Standard = -1000000

MaxValue: den hĂžgaste verdien som kan skrivast inn i kontrollelementet. Standard = +1000000

Increment: stega i talboksen nÄr knappen vert trykt. Standard = 1.

Accuracy: spesifiserer talet pÄ desimalar. Standard = 2.

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myCurrencyField = oDlg.CreateCurrencyField("CurrencyField1", Array(20, 20, 60, 15), SpinButton := True)
   
I Python

     myCurrencyField = dlg.CreateCurrencyField('CurrencyField1', (20, 20, 60, 15), SpinButton = True)
   

CreateDateField

Lagar eit nytt kontrollelement av typen DateField i det gjeldande dialogvindauget.

Syntaks:

svc.CreateDateField(ControlName: str, Place: any, Border: str = "3D", DropDown: bool = False, opt MinDate: datetime, opt MaxDate: datetime): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

DropDown: nÄr Sann (standard = Usann) finst det ein nedtrekksknapp

MinValue: den lÄgaste datoen som kan skrivast inn i kontrollelementet. Standard = 1900-01-01

MaxValue: den hĂžgaste datoen som kan skrivast inn i kontrollelementet. Standard = 2200-12-31

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myDateField = oDlg.CreateDateField("DateField1", Array(20, 20, 60, 15), Dropdown := True)
   
I Python

     myDateField = dlg.CreateDateField('DateField1', (20, 20, 60, 15), Dropdown = True)
   

CreateFileControl

Lagar eit nytt kontrollelement av typen FileControl i det gjeldande dialogvindauget.

Syntaks:

svc.CreateFileControl(ControlName: str, Place: any, Border: str = "3D"): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myFileControl = oDlg.CreateFileControl("FileControl1", Array(20, 20, 60, 15))
   
I Python

     myFileControl = dlg.CreateFileControl('FileControl1', (20, 20, 60, 15))
   

CreateFixedLine

Lagar eit nytt kontrollelement av typen FixedLine i det gjeldande dialogvindauget.

Syntaks:

svc.CreateFixedLine(ControlName: str, Place: any, Orientation: str): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Orientation: "H[orizontal]" eller "V[ertical]".

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myFixedLine = oDlg.CreateFixedLine("FixedLine1", Array(20, 20, 60, 15), Orientation := "vertical")
   
I Python

     myFixedLine = dlg.CreateFixedLine('FixedLine1', (20, 20, 60, 15), Orientation = 'vertical')
   

CreateFixedText

Lagar eit nytt kontrollelement av typen FixedText i det gjeldande dialogvindauget.

Syntaks:

svc.CreateFixedText(ControlName: str, Place: any, Border: str = "3D", MultiLine: bool = False, Align: str = "LEFT", VerticalAlign: str = "TOP"): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "NONE" (standard) eller "FLAT" eller "3D"

MultiLine: NÄr Sann (standard = Usann), kan biletteksten visast pÄ meir enn éi linje.

Align: vassrett justering, "LEFT" (standard) eller "CENTER" eller "RIGHT"

VerticalAlign: loddrett justering, "TOP" (standard) eller "MIDDLE" eller "BOTTOM"

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myFixedText = oDlg.CreateFixedText("FixedText1", Array(20, 20, 60, 15), MultiLine := True)
   
I Python

     myFixedText = dlg.CreateFixedText('FixedText1', (20, 20, 60, 15), MultiLine = True)
   

CreateFormattedField

Lagar eit nytt kontrollelement av typen FormattedField i det gjeldande dialogvindauget.

Syntaks:

svc.CreateFormattedField(ControlName: str, Place: any, Border: str = "3D", SpinButton: bool = False, MinValue: num = -1000000, MaxValue: num = +1000000): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

SpinButton: nÄr Sann (standard = Usann) finst det ein talknapp

MinValue: den lÄgaste verdien som kan skrivast inn i kontrollelementet. Standard = -1000000

MaxValue: den hĂžgaste verdien som kan skrivast inn i kontrollelementet. Standard = +1000000

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myFormattedField = oDlg.CreateFormattedField("FormattedField1", Array(20, 20, 60, 15), SpinButton := True)
   
I Python

     myFormattedField = dlg.CreateFormattedField('FormattedField1', (20, 20, 60, 15), SpinButton = True)
   

CreateGroupBox

Lagar eit nytt kontrollelement av typen GroupBox i det gjeldande dialogvindauget.

Syntaks:

svc.CreateGroupBox(ControlName: str, Place: any): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myGroupBox = oDlg.CreateGroupBox("GroupBox1", Array(20, 20, 60, 15))
   
I Python

     myGroupBox = dlg.CreateGroupBox('GroupBox1', (20, 20, 60, 15))
   

CreateHyperlink

Lagar eit nytt kontrollelement av typen Hyperlink i det gjeldande dialogvindauget.

Syntaks:

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "NONE" (standard) eller "FLAT" eller "3D"

MultiLine: NÄr Sann (standard = Usann), kan biletteksten visast pÄ meir enn éi linje.

Align: vassrett justering, "LEFT" (standard) eller "CENTER" eller "RIGHT"

VerticalAlign: loddrett justering, "TOP" (standard) eller "MIDDLE" eller "BOTTOM"

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myHyperlink = oDlg.CreateHyperlink("Hyperlink1", Array(20, 20, 60, 15), MultiLine := True)
   
I Python

     myHyperlink = dlg.CreateHyperlink('Hyperlink1', (20, 20, 60, 15), MultiLine = True)
   

CreateImageControl

Lagar eit nytt kontrollelement av typen ImageControl i det gjeldande dialogvindauget.

Syntaks:

svc.CreateImageControl(ControlName: str, Place: any, Border: str = "3D", Scale: str = "FITTOSIZE"): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

Scale: Ein av desse verdiane: "FITTOSIZE" (standard), "KEEPRATIO" eller "NO"

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myImageControl = oDlg.CreateImageControl("ImageControl1", Array(20, 20, 60, 15))
   
I Python

       myImageControl = dlg.CreateImageControl('ImageControl1", (20, 20, 60, 15))
   

CreateListBox

Lagar eit nytt kontrollelement av typen ListBox i det gjeldande dialogvindauget.

Syntaks:

svc.CreateListBox(ControlName: str, Place: any, Border: str = "3D", DropDown: bool = True, LineCount: num = 5, MultiSelect: bool = False): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

DropDown: NÄr Sann (standard), vert det vist ein nedtrekksknapp.

LineCount: Spesifiserer det hÞgste talet pÄ linjer vist i nedtrekket (standard = 5)

MultiSelect: NÄr Sann kan meir enn éi oppfÞring veljast. Standard = Usann

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myListBox = oDlg.CreateListBox("ListBox1", Array(20, 20, 60, 15), Dropdown := True, MultiSelect := True)
   
I Python

     myListBox = dlg.CreateListBox('ListBox1', (20, 20, 60, 15), Dropdown = True, MultiSelect = True)
   

CreateNumericField

Lagar eit nytt kontrollelement av typen NumericField i det gjeldande dialogvindauget.

Syntaks:

svc.CreateNumericField(ControlName: str, Place: any, Border: str = "3D", SpinButton: bool = False, MinValue: num = -1000000, MaxValue: num = 1000000, Increment: num = 1, Accuracy: num = 2): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

SpinButton: nÄr Sann (standard = Usann) finst det ein talknapp

MinValue: den lÄgaste verdien som kan skrivast inn i kontrollelementet. Standard = -1000000

MaxValue: den hĂžgaste verdien som kan skrivast inn i kontrollelementet. Standard = +1000000

Increment: stega i talboksen nÄr knappen vert trykt. Standard = 1.

Accuracy: spesifiserer talet pÄ desimalar. Standard = 2.

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myNumericField = oDlg.CreateNumericField("NumericField1", Array(20, 20, 60, 15), SpinButton := True)
   
I Python

     myNumericField = dlg.CreateNumericField('NumericField1', (20, 20, 60, 15), SpinButton = True)
   

CreatePatternField

Lagar eit nytt kontrollelement av typen PatternField i det gjeldande dialogvindauget.

Syntaks:

svc.CreatePatternField(ControlName: str, Place: any, Border: str = "3D", EditMask: str, opt LiteralMax: str): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

EditMask: ein teiknkode som bestemmer kva brukaren kan skriva inn.
Referer til Pattern_Field i wikien for meir informasjon.

LiteralMask: inneheld startverdiane som vert viste i mĂžnsterfeltet

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myPatternField = oDlg.CreatePatternField("PatternField1", Array(20, 20, 60, 15), EditMask := "NNLNNLLLLL", LiteralMask := "__.__.2002")
   
I Python

     myPatternField = dlg.CreatePatternField('PatternField1', (20, 20, 60, 15), EditMask = 'NNLNNLLLLL', LiteralMask = '__.__.2002')
   

CreateProgressBar

Lagar eit nytt kontrollelement av typen ProgressBar i det gjeldande dialogvindauget.

Syntaks:

svc.CreateProgressBar(ControlName: str, opt Place: any, Border: str = "3D", MinValue: num = 0, MaxValue: num = 100): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

MinValue: den lÄgaste verdien som kan skrivast inn i kontrollelementet. Standard = 0

MaxValue: den hĂžgaste verdien som kan skrivast inn i kontrollelementet. Standard = 100

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myProgressBar = oDlg.CreateProgressBar("ProgressBar1", Array(20, 20, 60, 15), MaxValue := 1000)
   
I Python

     myProgressBar = dlg.CreateProgressBar('ProgressBar1', (20, 20, 60, 15), MaxValue = 1000)
   

CreateRadioButton

Lagar eit nytt kontrollelement av typen RadioButton i det gjeldande dialogvindauget.

Syntaks:

svc.CreateRadioButton(ControlName: str, Place: any, MultiLine: bool = False): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

MultiLine: NÄr Sann (standard = Usann), kan biletteksten visast pÄ meir enn éi linje.

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myRadioButton = oDlg.CreateRadioButton("RadioButton1", Array(20, 20, 60, 15), MultiLine := True)
   
I Python

     myRadioButton = dlg.CreateRadioButton('RadioButton1', (20, 20, 60, 15), MultiLine = True)
   

CreateScrollBar

Lagar eit nytt kontrollelement av typen ScrollBar i det gjeldande dialogvindauget.

Syntaks:

svc.CreateScrollBar(ControlName: str, Place, Orientation: str, Border: str = "3D", MinValue: num = 0, MaxValue: num = 100): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Orientation: H[orizontal] eller V[ertical].

Border: "3D" (standard) eller "FLAT" eller "NONE"

MinValue: den lÄgaste verdien som kan skrivast inn i kontrollelementet. Standard = 0

MaxValue: den hĂžgaste verdien som kan skrivast inn i kontrollelementet. Standard = 100

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myScrollBar = oDlg.CreateScrollBar("ScrollBar1", Array(20, 20, 60, 15), MaxValue := 1000)
   
I Python

     myScrollBar = dialog.CreateScrollBar('ScrollBar1', (20, 20, 60, 15), MaxValue = 1000)
   

CreateTableControl

Lagar eit nytt kontrollelement av typen TableControl i det gjeldande dialogvindauget.

Syntaks:

svc.CreateTableControl(ControlName: str, Place: any, Border: str = "3D", RowHeaders: bool = True, ColumnHeaders: bool = True, ScrollBars: str = "N", GridLines: bool = False): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

RowHeaders: nÄr Sann (standard) vert radoverskriftene viste

ColumnHeaders: nÄr Sann (standard) vert kolonneoverskriftene viste

ScrollBars: H[orizontal] eller V[ertical] eller B[oth] eller N[one] (standard). Rullefelta vert viste dynamiske nÄr dei trengst.

GridLines: nÄr TSann (dstandard = Usann) det vert viste vassrette og loddrette injer mellom rutenettcellene.

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myTableControl = oDlg.CreateTableControl("TableControl1", Array(20, 20, 60, 15), ScrollBars := "B")
   
I Python

     myTableControl = dlg.CreateTableControl('TableControl1', (20, 20, 60, 15), ScrollBars = 'B')
   

CreateTextField

Lagar eit nytt kontrollelement av typen TextField i det gjeldande dialogvindauget.

Syntaks:

svc.CreateTextField(ControlName: str, Place: any, Border: str = "3D", MultiLine: bool = False, MaximumLength: num = 0, PasswordCharacter: str = ""): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

MultiLine: NÄr Sann (standard = Usann), kan biletteksten visast pÄ meir enn éi linje.

MaximumLength: den hĂžgste teiknteljinga (standard = 0 betyr uavgrensa)

PasswordCharacter: eit enkelt teikn som spesifiserer ekkoet for passordfeltet (standard = "")

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic
Set myTextField = oDlg.CreateTextField("TextField1", Array(20, 20, 120, 50), MultiLine := True)
   
I Python

     myTextField = dlg.CreateTextField('TextField1', (20, 20, 120, 50), MultiLine = True)
   

CreateTimeField

Lagar eit nytt kontrollelement av typen TimeField i det gjeldande dialogvindauget.

Syntaks:

svc.CreateTimeField(ControlName: str, Place: any, Border: str = "3D", MinTime: num = 0, MaxTime: num = 24): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

MinTime: den lÄgaste tidsverdien som kan skrivast inn i kontrollelementet. Standard = 0

MaxTime: den hĂžgaste tidsverdien som kan skrivast inn i kontrollelementet. Standard = 24h

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myTimeField = oDlg.CreateTimeField("TimeField1", Array(20, 20, 60, 15))
   
I Python

     myTimeField = dlog.CreateTimeField('TimeField1', (20, 20, 60, 15))
   

CreateTreeControl

Lagar eit nytt kontrollelement av typen TreeControl i det gjeldande dialogvindauget.

Syntaks:

svc.CreateTreeControl(ControlName: str, Place: any, Border = "3D"): svc

Parametrar:

Kontrollnamn: namnet pÄ det nye kontrollelementet. Det treng ikkje finnast fÞrebels.

Place: anten 


Alle elementa er uttrykte i Map AppFont-einingar.

Border: "3D" (standard) eller "FLAT" eller "NONE"

Returverdi:

Ein fĂžrekomst av tenesta SFDialogs.DialogControl eller Nothing.

Eksempel:

I Basic

     Set myTreeControl = oDlg.CreateTreeControl("TreeControl1", Array(20, 20, 60, 15))
   
I Python

     myTreeControl = dlg.CreateTreeControl('TreeControl1', (20, 20, 60, 15))
   

EndExecute

Avsluttar visinga av eit modalt dialogvindauge og returnerer argumentet som returverdi for den gjeldande kĂžyrehandlinga Execute ().

EndExecute() er til vanleg Ă„ finna i handsaminga av ein makro som er utlĂžyst av ei hending i eit dialogvindauge eller eit kontrollelement.

Syntaks:

svc.EndExecute(returnvalue: int)

Parametrar:

returverdi: Verdien som vert sendt til den kĂžyrande Execute()-metoden.

Eksempel:

I Basic

      Sub OnEvent(poEvent As com.sun.star.lang.EventObject)
          Dim oDlg As Object
          Set oDlg = CreateScriptService("SFDialogs.DialogEvent", poEvent)
          oDlg.EndExecute(ReturnValue := 25)
      End Sub
   
I Python

     from com.sun.star.lang import EventObject
     def on_event(event: EventObject):
         dlg = CreateScriptService("SFDialogs.DialogEvent", event)
         dlg.EndExecute(25)
   
tip

Overnemnde com.sun.star.lang.EventObject er valfrie. Slike merknadar hjelper til med Ă„ identifisere LibreOfficeDev Application Programming Interface (API).


Execute

Viser dialogvindauget og ventar, nÄr modal, pÄ avslutning av brukaren. Den returnerte verdien er anten:

For ikkje-modale dialogvindauge returnerer metoden alltid 0 og utfĂžringa av makroen held fram-.

Syntaks:

svc.Execute(modal: bool = True): int

Parametrar:

modal: Usann ved eit ikkje-modalt dialogvindauge. Standard = Sann .

Eksempel:

I dette Basic-eksempelet er dialogvindauget myDialog lagra i det gjeldande dokumentet sitt Standard-bibliotek.


      Dim oDlg As Object, lReturn As Long
      Set oDlg = CreateScriptService("SFDialogs.Dialog", , , "myDialog")
      lReturn = oDlg.Execute(Modal := False)
      Select Case lReturn
          ' ...
      End Select
   

Denne Python-koden viser det modale dialogvindauget DlgConvert i det delte Basic-biblioteket DlgConvert.


     dlg = CreateScriptService("SFDialogs.Dialog", 'GlobalScope', 'Euro', "DlgConvert")
     rc = dlg.Execute()
     if rc == dlg.CANCELBUTTON:
         # ...
   

GetTextsFromL10N

Bytar ut alle faste tekststrengar i eit dialogvindauge med den omsette versjonen basert pÄ ein fÞrekomst av tenesta L10N . Denne metode omsett desse strengane:

Metoden returnerer Sann viss han lukkast.

Bruk metoden AddTextsFromDialog frÄ tenesta L10N for Ä laga ei liste over strengar som kan omsetjast i eit dialogvindauge.

Syntaks:

svc.GetTextsFromL10N(l10n: svc): bool

Parametrar:

l10n: Ein fÞrekomst av tenesta L10N som dei omsette strengane vert henta frÄ.

Eksempel:

Dei neste eksempla lastar inn omsette strengar og brukar dei i dialogvindauget «MinDialog»:

I Basic

     oDlg = CreateScriptService("Dialog", "GlobalScope", "Standard", "MyDialog")
     myPO = CreateScriptService("L10N", "/home/user/po_files/")
     oDlg.GetTextsFromL10N(myPO)
     oDlg.Execute()
   
I Python

     dlg = CreateScriptService("Dialog", "GlobalScope", "Standard", "MyDialog")
     myPO = CreateScriptService("L10N", "/home/user/po_files/")
     dlg.GetTextsFromL10N(myPO)
     dlg.Execute()
   
tip

Les hjelpsida L10N service for Ă„ lĂŠra meir om korleis PO. og POT-filer vert handsama.


OrderTabs

Set tabuleringsindeksen for ei rad kontrollelement. Sekvensen av kontrollelement er gjeven som ei rekkje kontrollelementnamn frÄ det fÞrste til det siste.

warning

Kontrollelement med indeks >= 1 er ikkje tilgjengelege med TAB-tasten viss:
‒ dei ikkje er med i den gjevne lista
‒ typen er FixedLine, GroupBox eller ProgressBar
‒ dei er slĂ„tt av


Syntaks:

svc.TabsList(TabsList: num, Start: num = 1, Increment: num = 1): bool

Parametrar:

TabsList: ei liste over gyldige namn pÄ kontrollelement i tabuleringsrekkjefÞlgja

Start: tabulatorindeksen som skal brukast pÄ det fÞrste kontrollelementet i lista. Standard = 1

Increment: avstanden mellom to nĂŠrliggjande tabulatorindeksar. Standard = 1

Returverdi:

Sann nÄr han lukkast.

Eksempel:

I Basic

     oDlg.OrderTabs(Array("myListBox", "myTextField", "myNumericField"), Start := 10)
   
I Python

     dlg.OrderTabs(('myListBox', 'myTextField', 'myNumericField'), Start = 10)
   

Resize

Flyttar det Þvre, hÞgre hjÞrnet i eit dialogvindauge til nye koordinat og/eller endrar storleiken pÄ det. Alle avstandane vert viste i AppFont-einingar. Viss argumenta manglar, vert vindauget sett til den opphavlege storleiken. Returnerer Sann viss endringa av storleiken var vellukka.

Syntaks:

svc.Resize(opt Left: num, opt Top: num, opt Width: num, opt Height: num): bool

Parametrar:

Venstre: den vassrette avstanden frÄ Þvre venstre hjÞrne

Topp: den loddrette avstanden frÄ Þvste venstre hjÞrne

Breidd: breidda pÄ rektangelet som inneheld dialogvindauget

HÞgd: hÞgda pÄ rektangelet som inneheld dialogvindauget

Argument som manglar vert ikkje endra

Eksempel:

I Basic

     oDlg.Resize(1000, 2000, Height := 6000) ' Breidda er ikkje endra
   
I Python

     dlg.Resize(1000, 2000, Height = 6000)  # Breidda er ikkje endra
   

SetPageManager

Definerer kva kontrollelement i eit dialogvindauge som er ansvarlege for Ă„ byta sider, noko som gjer det enklare Ă„ administrera Side-eigenskapen til eit dialogvindauge og kontrollelementa i vindauget.

Dialogvindauge kan ha fleire sider, og den synlege siden er definert av dialogeigenskapen Side. Viss eigenskapen Side er uendra, er standard synleg side lik 0 (null), noeko som betyr at ingen bestemt side er definert og alle synlege kontrollelement vert viste uavhengig av verdien sett i deira eigen Side-eigenskap.

NÄr eigenskapen Page for eit dialogvindauge vert endra til ein annan verdi, som 1, 2, 3 og sÄ vidare, er det berre kontrollelementa som Page-eigenskap samsvarer med i det gjeldande dialogvindauget som vert viste.

Ved Ă„ bruka SetPageManager-metoden er det mogleg Ă„ definera fire typar sideadministratorar:

tip

Det er mogleg Ă„ bruka ein sidehandsamingsmekanisme samstundes.


Denne metoden er meint Ä kallast opp bere éin gong fÞr Execute-metoden vert kalla opp. EtterfÞlgjande oppkall vert ignorerte.

Viss han lukkast, returnerer denne metoden Sann.

Syntaks:

svc.SetPageManager(pilotcontrols: str = "", tabcontrols: str = "", wizardcontrols: str = "", opt lastpage: int): bool

Parametrar:

pilotcontrols: ei kommadelt liste over namna pÄ kontrollane ListBox, ComboBox og RadioButton som vert brukte som sideadministratorar. For kontrollelementa «RadioButton» vert namnet spesifisert pÄ det fÞrste elementet i gruppa som skal brukast.

tabcontrols: ei kommadelt liste over namn pÄ knappar som vert brukite som sideadministratorar. RekkjefÞlgja dei er spesifiserte i dette argumentet svarar til sidetalet dei er knytte til.

wizardcontrols: ei kommadelt liste med namna pÄ dei to knappane som vert brukte som knappar for «FÞrre» og «Neste».

lastpage: nummeret pÄ den siste tilgjengelege sida. Det vert rÄdd til Ä spesifisera denne verdien nÄr du brukar sidehandsaminga «FÞrre» og «Neste».

Eksempel:

Tenk deg eit dialogvindauge med tre sider. Dialogvindauget har ein ListBox-kontroll kalla «aPageList» som vert brukt til Ä kontrollera den synlege sida. I tillegg er det to knappar kalla «btnForrige» og «btnNeste» som vil verta brukte som «FÞrre/Neste»-knappane i dialogvindauget.

I Basic

    oDlg.SetPageManager(PilotControls := "aPageList", _
                           WizardControls := "btnPrevious,btnNext", _
                           LastPage := 3)
    oDlg.Execute()
  
I Python

    dlg.SetPageManager(pilotcontrols="aPageList",
                       wizardcontrols="btnPrevious,btnNext",
                       lastpage=3)
    dlg.Execute()
  

Terminate

Avslutt tenesta Dialog i den gjeldande fĂžrekomsten. Returner Sann viss avslutninga lukkast.

Syntaks:

svc.Terminate(): bool

Eksempel:

Basic- og Python-eksempla nedanfor opnar dei ikkje-modale dialogvindauga DlgConsole og dlgTrace. Dei er lagra i dei delte biblioteka ScriptForge og Access2Base. Knappane for Ä lukka dialogvindauga er kopla frÄ, og eksplisitt avslutning vert utfÞrt pÄ slutten av ein kÞyrande prosess.

I dette eksempelet erstattar ein knapp i DlgConsole hemma lukking av vindauget:

I Basic

     oDlg = CreateScriptService("SFDialogs.Dialog","GlobalScope","ScriptForge","DlgConsole")
     oDlg.Execute(modal:=False)
     Wait 5000
     oDlg.Terminate()
   
I Python

     from time import sleep
     dlg = CreateScriptService('SFDialogs.Dialog',"GlobalScope",'Access2Base',"dlgTrace")
     dlg.Execute(modal=False)
     sleep 5
     dlg.Terminate()
   
warning

Alle ScriptForge Basic-rutinane og -identifikatorane som vert innleidde med understrek «_» er reserverte for internt bruk. Dei er ikkje meint brukte i Basic-makroar.