Tulong sa LibreOffice 25.8
Ang Dialog nag-aambag ang serbisyo sa pamamahala ng mga dialog na ginawa gamit ang Basic Editor ng Dialog o mga dialog na ginawa on-the-fly. Ang bawat pagkakataon ng kasalukuyang klase ay kumakatawan sa isang solong dialog box na ipinapakita sa user.
Ang isang dialog box ay maaaring ipakita sa modal o sa non-modal na mga mode.
Sa modal mode, ipinapakita ang kahon at ang pagpapatupad ng proseso ng macro ay nasuspinde hanggang sa mapindot ang isa sa mga OK o Kanselahin na pindutan. Pansamantala, ang mga pagkilos ng user na isinagawa sa kahon ay maaaring mag-trigger ng mga partikular na pagkilos.
Sa non-modal mode, ang dialog box ay "lumulutang" sa user desktop at ang pagsasagawa ng macro process ay nagpapatuloy nang normal. Ang isang di-modal na dialog ay magsasara kapag ito ay winakasan sa Wakasan() paraan o kapag natapos ang LibreOffice session. Ang window close button ay hindi aktibo sa mga non-modal na dialog.
Ang isang dialog box ay nawawala sa memorya pagkatapos ng tahasang pagwawakas nito.
Ang SFDialogs.Dialog ang serbisyo ay malapit na nauugnay sa SFDialogs.DialogControl serbisyo.
Bago gamitin ang Dialog serbisyo ang ScriptForge kailangang i-load o i-import ang library:
Ang Dialog ang serbisyo ay hinihingi sa pamamagitan ng CreateScriptService paraan. Nangangailangan ito ng tatlong pandagdag na positional na argumento upang tukuyin ang dialog box upang maisaaktibo:
Lalagyan : " GlobalScope " para sa mga paunang naka-install na aklatan o pangalan ng window gaya ng tinukoy ni ScriptForge.UI serbisyo. Ang walang laman na string na "" default na halaga ay kumakatawan sa kasalukuyang dokumento.
Aklatan : Ang case-sensitive na pangalan ng isang library na nasa container. Ang default na halaga ay "Karaniwan".
DialogName : Isang case-sensitive na string na nagtatalaga sa dialog.
Ang mga halimbawa sa ibaba sa Basic at Python ay nagpapakita ng dlgConsole diyalogo na kabilang sa ScriptForge nakabahaging aklatan:
      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")
      '... napupunta dito ang control initialization...
      lButton = oDlg.Execute()
      'Default na mode = Modal
      If lButton = oDlg.OKBUTTON Then
      '... Kinokontrol ang proseso at ginagawa ang kailangan dito
      End If
      oDlg.Terminate()
  O gamit ang Python:
    dlg = CreateScriptService('SFDialogs.Dialog', 'GlobalScope', 'ScriptForge', 'dlgConsole')
    # ... napupunta dito ang pagsisimula ng mga kontrol...
    rc = dlg.Execute()
    # Default na mode ay Modal
    if rc == dlg.OKBUTTON:
        # ... Mga kontrol sa proseso at gawin ang kailangan dito
    dlg.Terminate()
  Gamitin ang string na "GlobalScope" bilang ang lalagyan argumento kapag ang dialog ay naka-imbak alinman sa o sa .
Ang serbisyo ng dialog ay nag-aalok ng mga pamamaraan na lumilikha ng mga bagong kontrol nang pabago-bago sa isang umiiral nang dialog na paunang natukoy gamit ang Dialog Editor. Ang isang dialog ay sinisimulan gamit ang mga kontrol sa Dialog Editor at ang mga bagong kontrol ay maaaring idagdag sa run-time bago o pagkatapos ng dialog na Execute() na pahayag.
Ang Dialog ang serbisyo ay maaaring pantay-pantay na magamit - sa pamamagitan ng CreateScriptService paraan - kapag lumilikha ng mga dialog on-the-fly. Nangangailangan ito ng dalawang pandagdag na positional na argumento pagkatapos ng pangalan ng ad-hoc service na "NewDialog":
DialogName : Isang case-sensitive na string na nagtatalaga sa dialog.
Lugar : Lokasyon ng window ng dialog ay alinman sa:
isang Basic Array o Python tuple na may 4 na elemento: (X, Y, lapad, taas)
isang com.sun.star.awt.Rectangle [X, Y, Width, Height] na bagay
Ang lahat ng mga elemento ay ipinahayag sa Mapa ang mga unit ng AppFont .
    Sub newDialog()
        Dim oDlg As Object
       oDlg = CreateScriptService("NewDialog", "myDialog1", Array(100,200, 40, 110))
       ' ...
    End Sub
  O gamit ang Python:
    def newDialog():
       dlg = CreateScriptService('NewDialog', 'myDialog1', (100,200, 40, 110))
       # ... Mga kontrol sa proseso at gawin kung ano ang kinakailangan
  Ang lahat ng mga katangian at pamamaraan na naaangkop sa mga paunang natukoy na dialog ay magagamit para sa mga bagong dialog. Sa partikular ang serye ng LumikhaXXX() pamamaraan para sa pagdaragdag ng mga bagong kontrol sa dialogo.
Isang halimbawa ng Dialog maaaring makuha ang serbisyo sa pamamagitan ng SFDialogs.DialogEvent serbisyo, sa kondisyon na ang dialog ay pinasimulan sa Dialog serbisyo. Sa halimbawa sa ibaba, oDlg naglalaman ng Dialog instance na nag-trigger sa kaganapan ng diyalogo.
    Sub aDialogEventHander(ByRef poEvent As Object)
        Dim oDlg As Object
        Set oDlg = CreateScriptService("SFDialogs.DialogEvent", poEvent)
        ' ...
    End Sub
  O gamit ang Python:
    def control_event_handler(event: uno):
        dlg = CreateScriptService("SFDialogs.DialogEvent", event)
        # ...
  Tandaan na sa mga nakaraang halimbawa, ang prefix "SFDialogs." maaaring tanggalin kapag itinuturing na naaangkop.
Kapag gumagawa ng event handler para sa mga kaganapan sa dialog, magandang kasanayan na pangasiwaan ang mga error sa loob mismo ng subroutine. Halimbawa, ipagpalagay na ang tagapangasiwa ng kaganapan sa ibaba ay tinatawag kapag pinindot ang pindutan ng mouse sa dialog window.
    Sub OnMouseButtonPressed(ByRef oEvent As Object)
    On Local Error GoTo Catch
        Dim oDialog As Object
        oDialog = CreateScriptService("DialogEvent", oEvent)
        ' Iproseso ang kaganapan
        Exit Sub
    Catch:
        MsgBox SF_Exception.Description
        SF_Exception.Clear
    End Sub
  Tumawag SF_Exception.Clear kung hindi mo nais na ang error ay lumaganap pagkatapos ng dialog execution natapos.
Sa Python gumamit ng native subukan/maliban mga bloke para sa paghawak ng exception tulad ng ipinapakita sa ibaba:
    def on_mouse_button_pressed(event=None):
        try:
            dlg = CreateScriptService("DialogEvent", event)
            # Iproseso ang kaganapan
        except Exception as e:
            # Ang object na "bas" ay isang instance ng Basic na serbisyo
            bas.MsgBox(str(e))
  | Pangalan | ReadOnly | Type | Mga nilalaman | 
|---|---|---|---|
| OKBUTTON | Mayroon | Integer | Value = 1. Pinindot ang isang OK na buton. | 
| CANCELBUTTON | Mayroon | Integer | Value = 0. Pindutin ang isang Cancel button. | 
| Caption | Hindi | String | Tukuyin ang pamagat ng dialog. | 
| Height | Hindi | Long | Tukuyin ang taas ng dialog box. | 
| Modal | Mayroon | Boolean | Tinutukoy kung ang dialog box ay kasalukuyang nasa execution sa modal mode. | 
| Name | Mayroon | String | Ang pangalan ng dialog | 
| Page | Hindi | Integer | Ang isang dialog ay maaaring may ilang mga pahina na maaaring daanan ng user nang hakbang-hakbang. Tinutukoy ng Page property ng Dialog object kung aling pahina ng dialog ang aktibo. | 
| Visible | Hindi | Boolean | Tukuyin kung ang dialog box ay makikita sa desktop. Bilang default, hindi ito makikita hanggang sa tumakbo ang Execute() na paraan at makikita pagkatapos. | 
| XDialogModel | Mayroon | UNO | Ang UNO object na kumakatawan sa dialog model. Sumangguni sa XControlModel at UnoControlDialogModel sa Application Programming Interface (API) na dokumentasyon para sa detalyadong impormasyon. | 
| XDialogView | Mayroon | UNO | Ang UNO object na kumakatawan sa dialog view. Sumangguni sa XControl at UnoControlDialog sa Application Programming Interface (API) na dokumentasyon para sa detalyadong impormasyon. | 
| Width | Hindi | Long | Tukuyin ang lapad ng dialog box. | 
sa… Ang mga katangian ng kaganapan ay mga string ng URI na tumutukoy sa isang script na na-trigger para sa isang kaganapan. Basahin ang detalye nito sa scripting framework URI specification .
| Pangalan | Pangunahing Paglalarawan ng IDE | 
|---|---|
| OnFocusGained | Kapag tumatanggap ng focus | 
| OnFocusLost | Kapag nawawalan ng focus | 
| OnKeyPressed | Pinindot ang susi | 
| OnKeyReleased | Inilabas ang susi | 
| OnMouseDragged | Gumalaw ang mouse habang pinindot ang key | 
| OnMouseEntered | Mouse sa loob | 
| OnMouseExited | Mouse sa labas | 
| OnMouseMoved | Gumalaw ang mouse | 
| OnMousePressed | Pinindot ang mouse button | 
| OnMouseReleased | Nabitawan ang mouse button | 
Tip: Lahat sa… Ang mga katangian ay maaaring itakda sa programmatically.
 Paano ipakita ang data sa isang kontrol ng puno halimbawa sa LibreOffice Wiki ay nagpapakita ng ganoon.
Ang pagtatalaga ng mga kaganapan sa pamamagitan ng Basic IDE at pagtatalaga ng mga kaganapan sa pamamagitan ng mga macro ay kapwa eksklusibo.
TabPageContainer ang mga kontrol ay hindi magagamit sa Dialog Editor.
Ang pagdimensyon ng isang dialog ay ginagawa sa pamamagitan ng paggamit Mapa ang mga unit ng AppFont . Gumagamit din ang isang dialog o control model ng mga AppFont unit. Habang ang kanilang mga view ay gumagamit ng mga pixel.
Itakda ang focus sa kasalukuyang Dialog halimbawa. Bumalik totoo kung matagumpay ang pagtutok.
Ang pamamaraang ito ay tinatawag mula sa isang dialog o control event, o kapag ang isang dialog ay ipinapakita sa non-modal mode.
svc.Activate(): bool
      Dim oDlg As Object
      Set oDlg = CreateScriptService(,, "myDialog")
      oDlg.Execute()
      ' ...
      oDlg.Activate()
   Ang Python at LibreOffice Basic na mga halimbawa ay parehong ipinapalagay na ang dialog ay nakaimbak sa kasalukuyang dokumento Pamantayan aklatan.
     dlg = CreateScriptService(,,'myDialog')
     dlg.Execute()
     # ...
     dlg.Activate()
   Isinasentro ang kasalukuyang instance ng dialog sa gitna ng isang parent window. Nang walang mga argumento, ang pamamaraan ay nakasentro sa dialog sa gitna ng kasalukuyang window.
Nagbabalik totoo kapag matagumpay.
svc.Center(opt Parent: obj): bool
Magulang : Isang opsyonal na bagay na maaaring alinman sa …
isang ScriptForge dialog object
isang ScriptForge na dokumento (Calc, Base, ...) object
     Sub TriggerEvent(oEvent As Object)
         Dim oDialog1 As Object, oDialog2 As Object, lExec As Long
         Itakda ang oDialog1 = CreateScriptService("DialogEvent", oEvent) ' Ang dialog na naging sanhi ng kaganapan
         Itakda ang oDialog2 = CreateScriptService("Dialog", ...) ' Magbukas ng pangalawang dialog
         oDialog2.Center(oDialog1)
         lExec = oDialog2.Execute()
         Select Case lExec
             ...
     End Sub
  
     def triggerEvent(event: uno):
       dlg1 = CreateScriptService('DialogEvent.Dialog', event) # Ang dialog na naging sanhi ng kaganapan
       dlg2 = CreateScriptService('Dialog', ...) # Magbukas ng pangalawang dialog
       dlg2.Center(dlg1)
       rc = dlg2.Execute()
       if rc is False:
         # ...
   Doblehin ang isang umiiral na kontrol ng anumang uri sa aktwal na dialog. Ang nadobleng kontrol ay hindi nababago at maaaring ilipat.
svc.CloneControl(SourceName: str, ControlName: str, Left: num, Top: num): svc
SourceName : Ang pangalan ng kontrol na ido-duplicate.
ControlName : Isang wastong pangalan ng kontrol bilang isang case-sensitive na string. Dapat hindi pa ito umiiral.
Kaliwa , tuktok : Ang mga coordinate ng bagong kontrol na ipinahayag sa Mapa ang mga unit ng AppFont .
      Set myButton2 = oDlg.CloneControl("Button1", "Button2", 30, 30)
   
     dlg = dlg.CloneControl('Button1', 'Button2', 30, 30)
   Ibalik ang alinman sa:
ang listahan ng mga kontrol na nakapaloob sa dialog
a DialogControl class instance batay sa pangalan nito
svc.Controls(): str[0..*]
svc.Controls(controlname: str): svc
ControlName : Isang wastong pangalan ng kontrol bilang isang case-sensitive na string. Kung wala, ang listahan ng mga control name ay ibabalik bilang zero-based array.
      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')
   Lumilikha ng bagong kontrol ng uri Pindutan sa kasalukuyang diyalogo.
svc.CreateButton(ControlName: str, Place: any, Toggle: bool = False, Push: str = ""): svc
ControlName : ang pangalan ng bagong kontrol. Dapat hindi pa ito umiiral.
Lugar : alinman…
isang Basic Array o Python tuple na may 4 na elemento: (X, Y, lapad, taas)
isang com.sun.star.awt.Rectangle [X, Y, Width, Height] na bagay
Ang lahat ng mga elemento ay ipinahayag sa Mapa ang mga unit ng AppFont .
I-toggle : kailan totoo isang Toggle button ang ginawa. Default = Mali
Itulak : "OK", "CANCEL" o "" (default)
Isang halimbawa ng Mga SFDialog . DialogControl serbisyo o wala .
     Set myButton = oDlg.CreateButton("Button1", Array(20, 20, 60, 15))
   
     myButton = dlg.CreateButton('Button1', (20, 20, 60, 15))
   Lumilikha ng bagong kontrol ng uri CheckBox sa kasalukuyang diyalogo.
svc.CreateCheckBox(ControlName: str, Place: any, Multiline: bool = False): svc
MultiLine : Kailan totoo (default = Mali ), ang caption ay maaaring ipakita sa higit sa isang linya.
     Set myCheckBox = oDlg.CreateCheckBox("CheckBox1", Array(20, 20, 60, 15), MultiLine := True)
   
     myCheckBox = dlg.CreateCheckBox('CheckBox1', (20, 20, 60, 15), MultiLine = True)
   Lumilikha ng bagong kontrol ng uri ComboBox sa kasalukuyang diyalogo.
svc.CreateComboBox(ControlName: str, Place: any, Border: str = "3D", DropDown: bool = True, LineCount: num = 5): svc
Border : "3D" (default), "FLAT" o "WALA"
DropDown : Kailan totoo (default), ang isang drop down na button ay ipinapakita
LineCount : Tinutukoy ang maximum na bilang ng linya na ipinapakita sa drop down (default = 5)
     Set myComboBox = oDlg.CreateComboBox("ComboBox1", Array(20, 20, 60, 15), Dropdown := True)
   
     myComboBox = dlg.CreateComboBox('ComboBox1', (20, 20, 60, 15), Dropdown = True)
   Lumilikha ng bagong kontrol ng uri CurrencyField sa kasalukuyang diyalogo.
svc.CreateCurrencyField(ControlName: str, Place: any, Border ="3D", SpinButton: bool = False, MinValue: num = -1000000, MaxValue: num = +1000000, Increment: num = 1, Accuracy: num = 2): svc
Border : "3D" (default), "FLAT" o "WALA"
SpinButton : kailan totoo (default = Mali ), mayroong spin button
MinValue : ang pinakamaliit na halaga na maaaring ipasok sa kontrol. Default = -1000000
MaxValue : ang pinakamalaking halaga na maaaring ipasok sa kontrol. Default = +1000000
Pagtaas : ang hakbang kapag pinindot ang spin button. Default = 1
Katumpakan : tumutukoy sa katumpakan ng decimal. Default = 2 decimal na digit
     Set myCurrencyField = oDlg.CreateCurrencyField("CurrencyField1", Array(20, 20, 60, 15), SpinButton := True)
   
     myCurrencyField = dlg.CreateCurrencyField('CurrencyField1', (20, 20, 60, 15), SpinButton = True)
   Lumilikha ng bagong kontrol ng uri DateField sa kasalukuyang diyalogo.
svc.CreateDateField(ControlName: str, Place: any, Border: str = "3D", DropDown: bool = False, opt MinDate: datetime, opt MaxDate: datetime): svc
Border : "3D" (default), "FLAT" o "WALA"
DropDown : kailan totoo (default = Mali ), ipinapakita ang isang dropdown na button
MinDate : ang pinakamaliit na petsa na maaaring ilagay sa kontrol. Default = 1900-01-01
MaxDate : ang pinakamalaking petsa na maaaring ilagay sa kontrol. Default = 2200-12-31
     Set myDateField = oDlg.CreateDateField("DateField1", Array(20, 20, 60, 15), Dropdown := True)
   
     myDateField = dlg.CreateDateField('DateField1', (20, 20, 60, 15), Dropdown = True)
   Lumilikha ng bagong kontrol ng uri FileControl sa kasalukuyang diyalogo.
svc.CreateFileControl(ControlName: str, Place: any, Border: str = "3D"): svc
Border : "3D" (default), "FLAT" o "WALA"
     Set myFileControl = oDlg.CreateFileControl("FileControl1", Array(20, 20, 60, 15))
   
     myFileControl = dlg.CreateFileControl('FileControl1', (20, 20, 60, 15))
   Lumilikha ng bagong kontrol ng uri FixedLine sa kasalukuyang diyalogo.
svc.CreateFixedLine(ControlName: str, Place: any, Orientation: str): svc
Oryentasyon : para sa pahalang na oryentasyon gamitin ang "H" o "Horizontal"; para sa vertical na oryentasyon gamitin ang "V" o "Vertical".
     Set myFixedLine = oDlg.CreateFixedLine("FixedLine1", Array(20, 20, 60, 15), Orientation := "vertical")
   
     myFixedLine = dlg.CreateFixedLine('FixedLine1', (20, 20, 60, 15), Orientation = 'vertical')
   Lumilikha ng bagong kontrol ng uri FixedText sa kasalukuyang diyalogo.
svc.CreateFixedText(ControlName: str, Place: any, Border: str = "3D", MultiLine: bool = False, Align: str = "LEFT", VerticalAlign: str = "TOP"): svc
Border : "WALA" (default), "FLAT" o "3D"
Multiline : Kailan totoo (default = Mali ), ang caption ay maaaring ipakita sa higit sa isang linya
I-align : pahalang na pagkakahanay, "LEFT" (default), "CENTER" o "RIGHT"
VerticalAlign : vertical alignment, "TOP" (default), "MIDDLE" o "BOTTOM"
     Set myFixedText = oDlg.CreateFixedText("FixedText1", Array(20, 20, 60, 15), MultiLine := True)
   
     myFixedText = dlg.CreateFixedText('FixedText1', (20, 20, 60, 15), MultiLine = True)
   Lumilikha ng bagong kontrol ng uri FormattedField sa kasalukuyang diyalogo.
svc.CreateFormattedField(ControlName: str, Place: any, Border: str = "3D", SpinButton: bool = False, MinValue: num = -1000000, MaxValue: num = +1000000): svc
Border : "3D" (default), "FLAT" o "WALA"
SpinButton : kailan totoo (default = Mali ), mayroong spin button
MinValue : ang pinakamaliit na halaga na maaaring ipasok sa kontrol. Default = -1000000
MaxValue : ang pinakamalaking halaga na maaaring ipasok sa kontrol. Default = +1000000
     Set myFormattedField = oDlg.CreateFormattedField("FormattedField1", Array(20, 20, 60, 15), SpinButton := True)
   
     myFormattedField = dlg.CreateFormattedField('FormattedField1', (20, 20, 60, 15), SpinButton = True)
   Lumilikha ng bagong kontrol ng uri GroupBox sa kasalukuyang diyalogo.
svc.CreateGroupBox(ControlName: str, Place: any): svc
     Set myGroupBox = oDlg.CreateGroupBox("GroupBox1", Array(20, 20, 60, 15))
   
     myGroupBox = dlg.CreateGroupBox('GroupBox1', (20, 20, 60, 15))
   Lumilikha ng bagong kontrol ng uri Hyperlink sa kasalukuyang diyalogo.
svc.CreateHyperlink(ControlName: str, Place: any, Border: str = "NONE", MultiLine: bool = False, Align: str = "LEFT", VerticalAlign: str = "TOP"): svc
Border : "WALA" (default), "FLAT" o "3D"
MultiLine : Kailan totoo (default = Mali ), ang caption ay maaaring ipakita sa higit sa isang linya
I-align : pahalang na pagkakahanay, "LEFT" (default), "CENTER" o "RIGHT"
VerticalAlign : vertical alignment, "TOP" (default), "MIDDLE" o "BOTTOM"
     Set myHyperlink = oDlg.CreateHyperlink("Hyperlink1", Array(20, 20, 60, 15), MultiLine := True)
   
     myHyperlink = dlg.CreateHyperlink('Hyperlink1', (20, 20, 60, 15), MultiLine = True)
   Lumilikha ng bagong kontrol ng uri ImageControl sa kasalukuyang diyalogo.
svc.CreateImageControl(ControlName: str, Place: any, Border: str = "3D", Scale: str = "FITTOSIZE"): svc
Border : "3D" (default), "FLAT" o "WALA"
Iskala : Isa sa mga susunod na value: "FITTOSIZE" (default), "KEEPRATIO" o "NO"
     Set myImageControl = oDlg.CreateImageControl("ImageControl1", Array(20, 20, 60, 15))
   
       myImageControl = dlg.CreateImageControl('ImageControl1", (20, 20, 60, 15))
   Lumilikha ng bagong kontrol ng uri ListBox sa kasalukuyang diyalogo.
svc.CreateListBox(ControlName: str, Place: any, Border: str = "3D", DropDown: bool = True, LineCount: num = 5, MultiSelect: bool = False): svc
Border : "3D" (default), "FLAT" o "WALA"
DropDown : Kailan totoo (default), ang isang drop down na button ay ipinapakita
LineCount : Tinutukoy ang maximum na bilang ng linya na ipinapakita sa drop down (default = 5)
MultiSelect : Kailan totoo , higit sa 1 entry ang maaaring mapili. Default = Mali
     Set myListBox = oDlg.CreateListBox("ListBox1", Array(20, 20, 60, 15), Dropdown := True, MultiSelect := True)
   
     myListBox = dlg.CreateListBox('ListBox1', (20, 20, 60, 15), Dropdown = True, MultiSelect = True)
   Lumilikha ng bagong kontrol ng uri NumericField sa kasalukuyang diyalogo.
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
Border : "3D" (default), "FLAT" o "WALA"
SpinButton : kailan totoo (default = Mali ), mayroong spin button
MinValue : ang pinakamaliit na halaga na maaaring ipasok sa kontrol. Default = -1000000
MaxValue : ang pinakamalaking halaga na maaaring ipasok sa kontrol. Default = +1000000
Pagtaas : ang hakbang kapag pinindot ang spin button. Default = 1
Katumpakan : tumutukoy sa katumpakan ng decimal. Default = 2 decimal na digit
     Set myNumericField = oDlg.CreateNumericField("NumericField1", Array(20, 20, 60, 15), SpinButton := True)
   
     myNumericField = dlg.CreateNumericField('NumericField1', (20, 20, 60, 15), SpinButton = True)
   Lumilikha ng bagong kontrol ng uri PatternField sa kasalukuyang diyalogo.
svc.CreatePatternField(ControlName: str, Place: any, Border: str = "3D", EditMask: str, opt LiteralMax: str): svc
Border : "3D" (default), "FLAT" o "WALA"
EditMask : isang character code na tumutukoy kung ano ang maaaring ipasok ng user
 Sumangguni sa Pattern_Field sa wiki para sa karagdagang impormasyon.
LiteralMask : naglalaman ng mga paunang halaga na ipinapakita sa field ng pattern
     Set myPatternField = oDlg.CreatePatternField("PatternField1", Array(20, 20, 60, 15), EditMask := "NNLNNLLLLL", LiteralMask := "__.__.2002")
   
     myPatternField = dlg.CreatePatternField('PatternField1', (20, 20, 60, 15), EditMask = 'NNLNNLLLLL', LiteralMask = '__.__.2002')
   Lumilikha ng bagong kontrol ng uri ProgressBar sa kasalukuyang diyalogo.
svc.CreateProgressBar(ControlName: str, opt Place: any, Border: str = "3D", MinValue: num = 0, MaxValue: num = 100): svc
Border : "3D" (default), "FLAT" o "WALA"
MinValue : ang pinakamaliit na halaga na maaaring ipasok sa kontrol. Default = 0
MaxValue : ang pinakamalaking halaga na maaaring ipasok sa kontrol. Default = 100
     Set myProgressBar = oDlg.CreateProgressBar("ProgressBar1", Array(20, 20, 60, 15), MaxValue := 1000)
   
     myProgressBar = dlg.CreateProgressBar('ProgressBar1', (20, 20, 60, 15), MaxValue = 1000)
   Lumilikha ng bagong kontrol ng uri RadioButton sa kasalukuyang diyalogo.
svc.CreateRadioButton(ControlName: str, Place: any, MultiLine: bool = False): svc
MultiLine : Kailan totoo (default = Mali ), ang caption ay maaaring ipakita sa higit sa isang linya
     Set myRadioButton = oDlg.CreateRadioButton("RadioButton1", Array(20, 20, 60, 15), MultiLine := True)
   
     myRadioButton = dlg.CreateRadioButton('RadioButton1', (20, 20, 60, 15), MultiLine = True)
   Lumilikha ng bagong kontrol ng uri ScrollBar sa kasalukuyang diyalogo.
svc.CreateScrollBar(ControlName: str, Place, Orientation: str, Border: str = "3D", MinValue: num = 0, MaxValue: num = 100): svc
Oryentasyon : para sa pahalang na oryentasyon gamitin ang "H" o "Horizontal"; para sa vertical na oryentasyon gamitin ang "V" o "Vertical".
Border : "3D" (default), "FLAT" o "WALA"
MinValue : ang pinakamaliit na halaga na maaaring ipasok sa kontrol. Default = 0
MaxValue : ang pinakamalaking halaga na maaaring ipasok sa kontrol. Default = 100
     Set myScrollBar = oDlg.CreateScrollBar("ScrollBar1", Array(20, 20, 60, 15), MaxValue := 1000)
   
     myScrollBar = dialog.CreateScrollBar('ScrollBar1', (20, 20, 60, 15), MaxValue = 1000)
   Lumilikha ng bagong kontrol ng uri TableControl sa kasalukuyang diyalogo.
svc.CreateTableControl(ControlName: str, Place: any, Border: str = "3D", RowHeaders: bool = True, ColumnHeaders: bool = True, ScrollBars: str = "N", GridLines: bool = False): svc
Border : "3D" (default), "FLAT" o "WALA"
Mga RowHeader : kailan totoo (default), ipinapakita ang row Header
Mga Header ng Column : kailan totoo (default), ang column Header ay ipinapakita
Mga ScrollBar : ang mga posibleng value ay: "H" o "Horizontal" (horizontal scrollbars), "V" o "Vertical" (vertical scrollbars); "B" o "Parehong" (parehong mga scrollbar); "N" o "Wala" (default) para sa walang mga scrollbar. Lumilitaw nang dynamic ang mga scrollbar kapag kailangan ang mga ito.
GridLines : kailan totoo (default = Mali ) ang mga pahalang at patayong linya ay pininturahan sa pagitan ng mga grid cell
     Set myTableControl = oDlg.CreateTableControl("TableControl1", Array(20, 20, 60, 15), ScrollBars := "B")
   
     myTableControl = dlg.CreateTableControl('TableControl1', (20, 20, 60, 15), ScrollBars = 'B')
   Lumilikha ng bagong kontrol ng uri TabPageContainer sa kasalukuyang diyalogo. Ang mga tab ay ikinakalat sa magkahiwalay na linya sa loob ng dialog kung kinakailangan. Maramihan TabPageContainer ay hindi suportado.
TagePageContainer Ang paggawa ng kontrol ay palaging huli sa paggawa ng dialog.
svc.CreateTabPageContainer(ControlName: str, Place: any, TabHeaders: str[1..*], Border: str = "3D"): svc
Mga TabHeader : Isang hanay ng mga string na tumutukoy sa bawat indibidwal na label para sa mga tab
Border : "3D" (default), "FLAT" o "WALA"
     Set myTabPageContainer = oDlg.CreateTabPageContainer("someContainer", Array(20, 20, 60, 15), TabHeaders := Array("Modules", "Dialogs", "Libraries"))
   
     myTabPageContainer = dlg.CreateTabPageContainer('theTabs', TabHeaders=('Modules', 'Dialogs', 'Libraries'), place=(20, 20, 60, 15))
   Lumilikha ng bagong kontrol ng uri TextField sa kasalukuyang diyalogo.
svc.CreateTextField(ControlName: str, Place: any, Border: str = "3D", MultiLine: bool = False, MaximumLength: num = 0, PasswordCharacter: str = ""): svc
Border : "3D" (default), "FLAT" o "WALA"
MultiLine : Kailan totoo (default = Mali ), ang caption ay maaaring ipakita sa higit sa isang linya
MaximumLength : ang maximum na bilang ng character (default = 0 ibig sabihin walang limitasyon)
PasswordCharacter : isang solong character na tumutukoy sa echo para sa field ng text ng password (default = "")
Set myTextField = oDlg.CreateTextField("TextField1", Array(20, 20, 120, 50), MultiLine := True)
   
     myTextField = dlg.CreateTextField('TextField1', (20, 20, 120, 50), MultiLine = True)
   Lumilikha ng bagong kontrol ng uri TimeField sa kasalukuyang diyalogo.
svc.CreateTimeField(ControlName: str, Place: any, Border: str = "3D", MinTime: num = 0, MaxTime: num = 24): svc
Border : "3D" (default), "FLAT" o "WALA"
MinTime : ang pinakamaliit na oras na maaaring ipasok sa kontrol. Default = 0
MaxTime : ang pinakamalaking oras na maaaring ipasok sa kontrol. Default = 24h
     Set myTimeField = oDlg.CreateTimeField("TimeField1", Array(20, 20, 60, 15))
   
     myTimeField = dlog.CreateTimeField('TimeField1', (20, 20, 60, 15))
   Lumilikha ng bagong kontrol ng uri TreeControl sa kasalukuyang diyalogo.
svc.CreateTreeControl(ControlName: str, Place: any, Border = "3D"): svc
Border : "3D" (default), "FLAT" o "WALA"
     Set myTreeControl = oDlg.CreateTreeControl("TreeControl1", Array(20, 20, 60, 15))
   
     myTreeControl = dlg.CreateTreeControl('TreeControl1', (20, 20, 60, 15))
   Tinatapos ang pagpapakita ng modal dialog at ibabalik ang argumento bilang return value para sa kasalukuyang Ipatupad() tumatakbong aksyon.
EndExecute() ay karaniwang nakapaloob sa pagproseso ng isang macro na na-trigger ng isang dialog o kontrol na kaganapan.
svc.EndExecute(returnvalue: int)
returnvalue : Ang halaga ay ipinasa sa tumatakbo Ipatupad() paraan.
      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
   
     from com.sun.star.lang import EventObject
     def on_event(event: EventObject):
         dlg = CreateScriptService("SFDialogs.DialogEvent", event)
         dlg.EndExecute(25)
   sa itaas com.sun.star.lang.EventObject Ang mga pagbanggit ay opsyonal. Nakakatulong ang mga naturang anotasyon na matukoy ang LibreOffice Application Programming Interface (API).
Ipakita ang dialog box at, kapag modal, hintayin ang pagwawakas nito ng user. Ang ibinalik na halaga ay alinman sa:
0: Kanselahin pinindot ang pindutan
1: OK pinindot ang pindutan
Kung hindi man ay huminto ang dialog sa isang EndExecute() pahayag na ibinigay ng isang diyalogo o kontrol na kaganapan
Para sa mga non-modal na dialog box ang pamamaraan ay palaging nagbabalik ng 0 at ang pagpapatupad ng macro ay nagpapatuloy.
svc.Execute(modal: bool = True): int
modal : Mali kapag di-modal na dialog. Default = totoo .
Sa Pangunahing halimbawang ito myDialog ang dialog ay naka-imbak sa kasalukuyang dokumento Pamantayan aklatan.
      Dim oDlg As Object, lReturn As Long
      Set oDlg = CreateScriptService("SFDialogs.Dialog", , , "myDialog")
      lReturn = oDlg.Execute(Modal := False)
      Select Case lReturn
          ' ...
      End Select
   Ipinapakita ang Python code na ito DlgConvert modal dialog mula sa Euro nakabahaging Basic library.
     dlg = CreateScriptService("SFDialogs.Dialog", 'GlobalScope', 'Euro', "DlgConvert")
     rc = dlg.Execute()
     if rc == dlg.CANCELBUTTON:
         # ...
   Pinapalitan ang lahat ng mga nakapirming string ng text sa isang dialog ng kanilang mga isinaling bersyon batay sa a L10N halimbawa ng serbisyo. Isinasalin ng pamamaraang ito ang mga sumusunod na string:
Ang pamamaraan ay nagbabalik totoo kung matagumpay.
Upang lumikha ng isang listahan ng mga maisasalin na mga string sa isang dialog gamitin ang AddTextsFromDialog paraan mula sa serbisyong L10N.
svc.GetTextsFromL10N(l10n: svc): bool
l10n : A L10N halimbawa ng serbisyo kung saan kukunin ang mga isinaling string.
Ang sumusunod na halimbawa ay naglo-load ng mga isinaling string at inilalapat ang mga ito sa dialog na "MyDialog".
     oDlg = CreateScriptService("Dialog", "GlobalScope", "Standard", "MyDialog")
     myPO = CreateScriptService("L10N", "/home/user/po_files/")
     oDlg.GetTextsFromL10N(myPO)
     oDlg.Execute()
   
     dlg = CreateScriptService("Dialog", "GlobalScope", "Standard", "MyDialog")
     myPO = CreateScriptService("L10N", "/home/user/po_files/")
     dlg.GetTextsFromL10N(myPO)
     dlg.Execute()
   Basahin ang Serbisyo ng L10N pahina ng tulong upang matuto nang higit pa tungkol sa kung paano pinangangasiwaan ang mga file ng PO at POT.
Mag-import at i-duplicate ang isang umiiral na kontrol ng anumang uri mula sa isang dialog hanggang sa aktwal na dialog. Ang nadobleng kontrol ay hindi nababago. Ang bagong kontrol ay maaaring palitan ng pangalan at ilipat. Ang mga tagapangasiwa ng mga kaganapan, kapag naroroon, ay maaaring ma-import din.
svc.ImportControl(SourceDialog: svc, SourceName: str, opt ControlName: str, Page: num = 0, OffsetX: num = 0, OffsetY:num = 0, IncludeOnProperties: bool = False): svc
SourceDialog : isang SFDialogs.Dialog halimbawa ng klase.
SourceName : ang pangalan ng kontrol na i-import.
ControlName : ang pangalan ng bagong kontrol. Dapat hindi pa ito umiiral. Default ay SourceName
Pahina : ang numero ng pahina ng bagong kontrol. Default = 0
OffsetX, OffsetY : ang bilang ng mga pixel na idaragdag sa source control coordinates sa "Map AppFont" units. Default = 0, maaaring negatibo.
IncludeOnProperties : isama ang sa... mga katangian ng kaganapan. Default = Mali.
     Set mCtrl = oDlg.ImportControl(srceDlg, "someCtrlName")
   
     dlg.ImportControl(srceDlg, 'aCtrlName', includeOnProperties=true)
   Itakda ang index ng tabulasyon ng isang serye ng mga kontrol. Ang pagkakasunud-sunod ng mga kontrol ay ibinibigay bilang isang hanay ng mga pangalan ng kontrol mula sa una hanggang sa huli.
Ang mga kontrol na may index >= 1 ay hindi naa-access gamit ang TAB key kung:
 - sila ay tinanggal mula sa ibinigay na listahan
 - ang uri nila ay FixedLine, GroupBox o ProgressBar
 - sila ay may kapansanan
svc.TabsList(TabsList: num, Start: num = 1, Increment: num = 1): bool
TabsList : isang hanay ng mga wastong pangalan ng kontrol sa pagkakasunud-sunod ng tabulasyon
Magsimula : ang index ng tab na itatalaga sa 1st control sa listahan. Default = 1
Pagtaas : ang pagkakaiba sa pagitan ng 2 magkakasunod na index ng tab. Default = 1
Nagbabalik totoo kapag matagumpay.
     oDlg.OrderTabs(Array("myListBox", "myTextField", "myNumericField"), Start := 10)
   
     dlg.OrderTabs(('myListBox', 'myTextField', 'myNumericField'), Start = 10)
   Inililipat ang tuktok na sulok ng dialog sa mga bagong coordinate at/o baguhin ang mga dimensyon nito. Ang lahat ng mga distansya ay ipinahayag sa mga yunit ng AppFont. Nang walang mga argumento, nire-reset ng pamamaraan ang mga paunang sukat. Bumalik totoo kung matagumpay ang pagbabago ng laki.
svc.Resize(opt Left: num, opt Top: num, opt Width: num, opt Height: num): bool
Kaliwa : ang pahalang na distansya mula sa kaliwang sulok sa itaas
tuktok : ang patayong distansya mula sa kaliwang sulok sa itaas
Lapad : ang lapad ng parihaba na naglalaman ng dialog
taas : ang taas ng parihaba na naglalaman ng dialog
Ang mga nawawalang argumento ay hindi nababago
     oDlg.Resize(1000, 2000, Height := 6000) ' Hindi nagbabago ang lapad
   
     dlg.Resize(1000, 2000, Height = 6000) # Ang lapad ay hindi binago
   Tinutukoy kung aling mga kontrol sa isang dialog ang may pananagutan sa paglipat ng mga pahina, na ginagawang mas madaling pamahalaan ang Pahina pag-aari ng isang dialog at mga kontrol nito.
Ang mga dialog ay maaaring magkaroon ng maraming pahina at ang kasalukuyang nakikitang pahina ay tinukoy ng Pahina ari-arian ng dialogo. Kung ang Pahina ang pag-aari ay hindi nababago, ang default na nakikitang pahina ay katumbas ng 0 (zero), ibig sabihin ay walang partikular na pahina ang tinukoy at lahat ng nakikitang kontrol ay ipinapakita anuman ang halaga na itinakda sa kanilang sarili Pahina ari-arian.
Kapag ang Pahina Ang pag-aari ng isang dialog ay binago sa ilang iba pang halaga tulad ng 1, 2, 3 at iba pa, pagkatapos ay ang mga kontrol lamang na Pahina property match ang kasalukuyang pahina ng dialog ay ipapakita.
Sa pamamagitan ng paggamit ng SetPageManager paraan posible na tukuyin ang apat na uri ng mga tagapamahala ng pahina:
List box o combo box: sa kasong ito, ang bawat entry sa list box o combo box ay tumutugma sa isang page. Ang unang aytem ay tumutukoy sa Pahina 1, ang pangalawang aytem ay tumutukoy sa Pahina 2 at iba pa.
Grupo ng mga radio button: ay tumutukoy sa isang pangkat ng mga radio button na kumokontrol kung aling pahina ang makikita.
Pagkakasunud-sunod ng mga pindutan: ay tumutukoy sa isang hanay ng mga pindutan, ang bawat isa ay tumutugma sa isang pahina ng dialogo. Magagamit ito upang tularan ang isang naka-tab na interface sa pamamagitan ng paglalagay ng mga pindutan nang magkatabi sa dialog.
Nakaraang/Susunod na mga pindutan: tumutukoy kung aling mga button sa dialog ang gagamitin upang mag-navigate sa Nakaraang/Susunod na pahina sa dialog.
Posibleng gumamit ng higit sa isang mekanismo ng pamamahala ng pahina sa parehong oras.
Ang pamamaraang ito ay dapat na tinatawag na isang beses lamang bago tawagan ang Ipatupad paraan. Binabalewala ang mga kasunod na tawag.
Kung matagumpay ang pamamaraang ito ay bumalik totoo .
svc.SetPageManager(pilotcontrols: str = "", tabcontrols: str = "", wizardcontrols: str = "", opt lastpage: int): bool
pilotcontrols: isang listahan na pinaghihiwalay ng kuwit ng ListBox , ComboBox o RadioButton mga pangalan ng kontrol na ginagamit bilang mga tagapamahala ng pahina. Para sa mga kontrol ng RadioButton, tukuyin ang pangalan ng unang kontrol sa pangkat na gagamitin.
tabcontrols: isang listahan ng mga pangalan ng button na pinaghihiwalay ng kuwit na gagamitin bilang mga tagapamahala ng pahina. Ang pagkakasunud-sunod kung saan tinukoy ang mga ito sa argumentong ito ay tumutugma sa numero ng pahina kung saan nauugnay ang mga ito.
wizardcontrols: isang listahang pinaghihiwalay ng kuwit na may mga pangalan ng dalawang button na gagamitin bilang mga button na Nakaraang/Susunod.
huling pahina: ang numero ng huling magagamit na pahina. Inirerekomenda na tukuyin ang halagang ito kapag ginagamit ang Nakaraang/Susunod na page manager.
Isaalang-alang ang isang dialog na may tatlong pahina. Ang diyalogo ay may a ListBox control na pinangalanang "aPageList" na gagamitin para kontrolin ang nakikitang page. Bukod pa rito, may dalawang button na pinangalanang "btnPrevious" at "btnNext" na gagamitin bilang mga Nakaraang/Susunod na button sa dialog.
    oDlg.SetPageManager(PilotControls := "aPageList", _
                           WizardControls := "btnPrevious,btnNext", _
                           LastPage := 3)
    oDlg.Execute()
  
    dlg.SetPageManager(pilotcontrols="aPageList",
                       wizardcontrols="btnPrevious,btnNext",
                       lastpage=3)
    dlg.Execute()
  Wakasan ang Dialog serbisyo para sa kasalukuyang pagkakataon. Bumalik totoo kung matagumpay ang pagwawakas.
svc.Terminate(): bool
Sa ibaba ng Basic at Python na mga halimbawa ay bukas DlgConsole at dlgTrace mga di-modal na diyalogo. Ang mga ito ay naka-imbak ayon sa pagkakabanggit ScriptForge at Access2Base mga shared library. Ang mga dialog close button ay hindi pinagana at ang tahasang pagwawakas ay isinasagawa sa pagtatapos ng isang tumatakbong proseso.
Sa halimbawang ito, isang pindutan sa DlgConsole ay pinapalitan ang inhibited na pagsasara ng window:
     oDlg = CreateScriptService("SFDialogs.Dialog","GlobalScope","ScriptForge","DlgConsole")
     oDlg.Execute(modal:=False)
     Wait 5000
     oDlg.Terminate()
   
     from time import sleep
     dlg = CreateScriptService('SFDialogs.Dialog',"GlobalScope",'Access2Base',"dlgTrace")
     dlg.Execute(modal=False)
     sleep 5
     dlg.Terminate()