Wobsah

# Słužba SFDialogs.Dialog

Słužba Dialog k rjadowanju dialogow přinošuje, kotrež su so přez dialogowy editor Basic wutworili abo přez dialogi, kotrež su so nimoducy wutworili. Kóžda instanca aktualneje klasy jednotliwy dialogowe polo reprezentuje, kotrež so wužiwarjej pokazuje.

Dialogowe polo da so w modalnym abo njemodalnym modusu pokazać.

W modalnym modusu so polo pokazuje a wuwjedźenje makroweho procesa je wusadźene, doniž so pak tłóčatko W porjadku pak tłóčatko Přetorhnyć njetłóči. Mjeztym so wužiwarske akcije, kotrež su so na polu wuwjedli, wěste akcije wuwabić.

W njemodalnym modusu so dialogowe polo na wužiwarskom desktopje „znošuje“ a wuwjedźenje makroweho procesa so normalnje pokročuje. Njemodalny dialog so začinja, hdyž so z metodu Terminate() kónči abo hdyž so posedźenje LibreOfficeDev kónči. Tłóčatko za začinjenje wokna je inaktiwne w njemodalnych dialogach.

Dialogowe polo so po eksplicitnym skónčenju ze składa zhubja.

Słužba SFDialogs.Dialog je wusko ze słužbu SFDialogs.DialogControl zwjazana.

## Słužbowe wuwołanje a wužiwanje

Před wužiwanjom słužby Dialog dyrbi so biblioteka ScriptForge začitać abo importować:

• Makra Basic sej wužaduja, zo so biblioteka ScriptForge z pomocu slědowaceho přikaza začituje:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Skripty Python sej import z modula scriptforge wužaduja:
from scriptforge import CreateScriptService

Słužba Dialog so přez metodu CreateScriptService wuwołuje. Trjeba tři poziciske argumenty, zo by dialog podała, kotryž so ma aktiwizować:

Container: "GlobalScope" za předinstalowane biblioteki abo woknowe mjeno, kaž je přez słužbu ScriptForge.UI definowane. Standardna hódnota prózdny znamješkowy rjećazk "" za aktualny dokument steji.

Library: Mjeno biblioteki, kotryž je w kontejnerje wobsahowane a na wulkopisanje dźiwa. Standardna hódnota je Standard".

DialogName: Znamješkowy rjećazk, kotryž na wulkopisanje dźiwa a dialog woznamjenja.

Slědowace přikłady w Basic a Python dialog dlgConsole pokazuje, kotryž k zhromadnej bibliotece ScriptForge słuša:

          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")
          '… wodźenske inicializowanje sem přińdźe …
          lButton = oDlg.Execute()
          ' Standardny modus = Modalny
          If lButton = oDlg.OKBUTTON Then
          '… Procesowe wodźenja a činić, štož je tu trjeba
          End If
          oDlg.Terminate()

Abo z Python:

        dlg = CreateScriptService('SFDialogs.Dialog', 'GlobalScope', 'ScriptForge', 'dlgConsole')
        # … wodźenske inicializowanje sem přińdźe …
        rc = dlg.Execute()
        # Standardny modus je Modalny
        if rc == dlg.OKBUTTON:
            # … Procesowe wodźenja a činić, štož je tu trjeba
        dlg.Terminate()

Wužiwajće znamješkowy rjećazk „GlobalScope“ jako argument container, hdyž so dialog pak w Moje makra a dialogi pak w Nałoženske makra a dialogi składuje.

Dialogowa słužba metody skići, kotrež nowe wodźenske elementy w eksistowacym dialogu dynamisce wutworjeja, kotryž je z dialogowym editorom předdefinowany. Dialog so z wodźenskimi elementami w dialogowym editorje inicializuje a nowe wodźenske elementy dadźa so za čas fungowanja před abo za dialogowym přikazom Execute() přidać.

Słužba Dialog da so tež z metodu CreateScriptService wuwołuje, hdyž so dialogi za čas fungowanja wutworjeja. Wužaduje so dwaj přidatnej poziciskej argumentaj za mjenom słužby ad-hoc „NewDialog“.

DialogName: Znamješkowy rjećazk, kotryž na wulkopisanje dźiwa a dialog woznamjenja.

Place: Woknowe městno dialoga, pak:

- Matriks w Basic abo tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosć]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

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

Abo z Python:

        def newDialog():
           dlg = CreateScriptService('NowyDialog', 'mójDialog1', (100,200, 40, 110))
           # … procesowe wodźenske elementy a činić, štož je trjeba

Wšě kajkosće a metody, kotrež su na předdefinowane dialogi nałožujomne, su za tajke nowe dialogi k dispoziciji. Předewšěm rjad metodow CreateXXX() za přidawanje nowych dialogowych wodźenskich elementow.

## Wotwołowanje dialogoweje instancy, kotraž je dialogowy podawk wuwabiła

Instanca słužby Dialog da so přez słužbu SFDialogs.DialogEvent wotwołać, pod wuměnjenjom zo dialog je so ze słužbu Dialog iniciěrował. W slědowacym přikładźe oDlg instancu Dialog wobsahuje, kotraž je dialogowy podawk wuwabił.

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

Abo z Python:

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

Dźiwajće na to, zo w předchadnych přikładach prefiks "SFDialogs." da so wuwostajić, hdyž zda so přihódne być.

### Wobchadźenje z wuwzaćemi w podawkowych wobdźěłakach

Hdyž so podawkowy wobdźěłak za dialogowe podawki wutworja, poruča so, zo so ze zmylkami w podprogramje samym wobchadźeja. Připušć na přikład, zo so podawkowy wobdźěłak woła, hdyž so tasta myški w dialogowym woknje tłóči.

        Sub OnMouseButtonPressed(ByRef oEvent As Object)
        On Local Error GoTo Catch
            Dim oDialog As Object
            oDialog = CreateScriptService("DialogEvent", oEvent)
            ' Podawk předźěłać
            Exit Sub
        Catch:
            MsgBox SF_Exception.Description
            SF_Exception.Clear
        End Sub

Wołajće SF_Exception.Clear, jeli nochceće, zo so zmylk po skónčenju wuwjedźenja dialoga dale dawa.

Wužiwajće w Python natiwne bloki try/except za wobchadźenje z wuwzaćemi, kaž so deleka pokazuje:

        def on_mouse_button_pressed(event=None):
            try:
                dlg = CreateScriptService("DialogEvent", event)
                # Podawk předźěłać
            except Exception as e:
                # Objekt "bas" je instanca słužby Basic
                bas.MsgBox(str(e))

## Kajkosće

Mjeno | Přećiwo pisanju škitany | Typ | Wopisanje
--- | --- | --- | ---
OKBUTTON | Haj | Integer | Hódnota = 1. Tłóčatko W porjadku je so stłóčiło.
CANCELBUTTON | Haj | Integer | Hódnota = 0. Tłóčatko Přetorhnyć je so stłóčiło.
Caption | Ně | String | Podawa titul dialoga.
Height | Ně | Long | Podawa wysokosć dialogoweho pola.
IsAlive | Haj | Boolean | True, hdyž dialogowe polo njeje so začiniło (na př. přez akciju wužiwarja).
Modal | Haj | Boolean | Podawa, hač so dialog tuchwilu w modalnym modusu wuwjedźe.
Name | Haj | String | Mjeno dialoga
Page | Ně | Integer | Dialog móže wjacore strony měć, kotrež wužiwar móže krok po kroku přeběžeć. Kajkosć Page objekta Dialog definuje, kotra strona dialoga je aktiwna.
Visible | Ně | Boolean | Podawa, hač dialogowe polo je widźomne na desktopje. Po standardźe widźomne njeje, doniž metoda Execute() njewuwjedźe a potom je widźomne.
XDialogModel | Haj | Objekt UNO | Objekt UNO, kotryž dialogowy model reprezentuje. Hlejće XControlModel a UnoControlDialogModel w programowanskej tykačce (API).
XDialogView | Haj | Objekt UNO | Objekt UNO, kotryž dialogowy napohlad reprezentuje. Hlejće XControl a UnoControlDialog w dokumentaciji programowanskeje tykački za podrobne informacije.
Width | Ně | Long | Podawa šěrokosć dialogoweho pola.

## Podawkowe kajkosće

Podawkowe kajkosće On… su znamješkowe rjećazki URI, kotrež na skript wotkazuja, kiž je so přez podawak wuhibał. Čitajće specifikaciju w Scripting Framework URI Specification (jendźelsce).

Mjeno | Wopisanje Basic IDE
--- | ---
OnFocusGained | Při dóstawanju fokusa
OnFocusLost | Při zhubjenju fokusa
OnKeyPressed | Tasta stłóčena
OnKeyReleased | Tasta pušćena
OnMouseDragged | Pohib myški při stłóčenej tasće
OnMouseEntered | Myška nutřka
OnMouseExited | Myška wonka
OnMouseMoved | Pohib myški
OnMousePressed | Tasta myški stłóčena
OnMouseReleased | Tasta myški pušćena

Pokiw: Wšě kajkosće On… dadźa so přez program nastajić.
Přikład How to display data in a tree control (jendźelsce) w LibreOfficeDev Wiki to znazornja.

Připokazowanje podawkow přez Basic IDE a připokazowanje podawkow přez makra so mjez sobu wuzamkujetej.

Lisćina metodow w słužbje Dialog
Activate Center Controls CloneControl CreateButton CreateCheckBox CreateComboBox CreateCurrencyField CreateDateField CreateFileControl CreateFixedLine CreateFixedText | CreateFormattedField CreateGroupBox CreateHyperlink CreateImageControl CreateListBox CreateNumericField CreatePatternField CreateProgressBar CreateRadioButton CreateScrollBar CreateTableControl CreateTabPageContainer | CreateTextField CreateTimeField CreateTreeControl EndExecute Execute GetTextsFromL10N ImportControl OrderTabs Resize SetPageManager Terminate

Wodźenske elementy TabPageContainer w dialogowym editorje k dispoziciji njejsu.

Wotměrjenje dialoga so z pomocu jednotkow Map AppFont přewjedźe. Dialogowy abo wodźenski model tež jednotki AppFont wužiwa, mjeztym zo jeju napohlady piksele wužiwaja.

## Activate

Staja fokus na aktualnu instancu Dialog. Wróca True, jeli fokusěrowanje je wuspěšne było.

Tuta metoda so přez dialogowy abo wodźenski podawk wuwołuje, abo hdyž so dialog w njemodalnym modusu pokazuje.

### Syntaksa:

svc.Activate(): bool

### Přikład:

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

Přikłady Python a LibreOfficeDev Basic předpokładuja, zo dialog je so w bibliotece Standard aktualneho dokumenta składował.

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

## Center

Centruje instancu aktualneho dialog wosrjedź nadrjadowaneho wokna. Bjez argumentow metoda dialog wosrjedź aktualneho wokna centruje.

Wróći True, jeli wuspěšne.

### Syntaksa:

svc.Center(opt Parent: obj): bool

### Parametry:

Parent: Opcionalny objekt, kotryž móže być …

- dialogowy objekt ScriptForge

- objekt dokument ScriptForge (Calc, Base, …)

### Přikład:

##### W Basic

         Sub TriggerEvent(oEvent As Object)
             Dim oDialog1 As Object, oDialog2 As Object, lExec As Long
             Set oDialog1 = CreateScriptService("DialogEvent", oEvent) ' Dialog, kotryž je podawk zawinował
             Set oDialog2 = CreateScriptService("Dialog", ...) ' Wočinja druhi dialog
             oDialog2.Center(oDialog1)
             lExec = oDialog2.Execute()
             Select Case lExec
                 ...
         End Sub

##### W Python

         def triggerEvent(event: uno):
           dlg1 = CreateScriptService('DialogEvent.Dialog', event) # Dialog, kotryž je podawk zawinował
           dlg2 = CreateScriptService('Dialog', ...) # Wočinja druhi dialog
           dlg2.Center(dlg1)
           rc = dlg2.Execute()
           if rc is False:
             # ...

## CloneControl

Duplicěruje eksistowacy wodźenski element někajkeho typa w aktualnym dialogu. Duplicěrowany wodźenski element njezměnjeny wostawa a da so přesunyć.

### Syntaksa:

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

### Parametry:

SourceName: Mjeno wodźenskeho elementa, kotryž so ma duplicěrować.

ControlName: Płaćiwe mjeno wodźenskeho elementa jaki znamješkowy rjećazk, kotryž na wulkopisanje dźiwa. Njesměje hišće eksistować.

Left, Top: Koordinaty noweho wodźenskeho elementa, zwuraznjene w jednotkach Map AppFont.

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## Controls

Wróćenje:

- lisćina wodźenskich elementow, kotrež dialog wobsahuje

- klasowa instanca DialogControl na zakładźe jeje mjena

### Syntaksa:

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

svc.Controls(controlname: str): svc

### Parametry:

ControlName: Płaćiwe mjeno wodźenskeho elementa jako znamješkowy rjećazk, kotryž na wulkopisanje dźiwa. Jeli faluje, so lisćina mjeno wodźenskich elementow jako matriks z bazu nula wróći.

### Přikład:

          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

Wutwori nowy wodźenski element typa Button w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Toggle: Hdyž True, so tłóčatko za přepinanje wutwori. Standard = False

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

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateCheckBox

Wutwori nowy wodźenski element typa CheckBox w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

MultiLine: Hdyž True (standard = False), da so popis we wjace hač jednej lince pokazać.

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateComboBox

Wutwori nowy wodźenski element typa ComboBox w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

DropDown: Hdyž True (standard), so wuběranske tłóčatko pokazuje

LineCount: Podawa maksimalnu ličbu linkow, kotrež so maja we wuběranskim meniju pokazać (standard = 5)

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateCurrencyField

Wutwori nowy wodźenski element typa CurrencyField w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

SpinButton: Hdyž True (standard = False), wjerćite tłóčatko eksistuje

MinValue: najmjeńša hódnota, kotraž da so do wodźenskeho elementa zapodać. Standard = -1000000

MaxValue: najwjetša hódnota, kotraž da so do wodźenskeho elementa zapodać. Standard = +1000000

Increment: stup, hdyž so wjerćite tłóčatko tłóči. Standard = 1

Accuracy: Podawa decimalnu dokładnosć. Standard = 2 decimalnej městnje

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateDateField

Wutwori nowy wodźenski element typa DateField w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

DropDown: Hdyž True (standard = False), so wuběranske tłóčatko pokazuje

MinDate: Najmjeńši datum, kotryž da so do wodźenskeho elementa zapodać. Standard = 01.01.1900

MaxDate: najwjetši datum, kotryž da so do wodźenskeho elementa zapodać. Standard = 31.12.2200

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateFileControl

Wutwori nowy wodźenski element typa FileControl w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateFixedLine

Wutwori nowy wodźenski element FixedLine w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Orientation: wužiwaće za horicontalne wusměrjenje "H" abo "Horizontal"; za wertikalne wusměrjenje "V" abo "Vertical" wužiwaće.

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateFixedText

Wutwori nowy wodźenski element FixedText w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "NONE" (standard), "FLAT" abo "3D"

Multiline: Hdyž True (standard = False), da so popis we wjace hač jednej lince pokazać

Align: horicontalne wusměrjenje, "LEFT" (standard), "CENTER" abo "RIGHT"

VerticalAlign: wertikalne wusměrjenje, "TOP" (standard), "MIDDLE" abo "BOTTOM"

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateFormattedField

Wutwori nowy wodźenski element typa FormattedField w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

SpinButton: Hdyž True (standard = False), wjerćite tłóčatko eksistuje

MinValue: najmjeńša hódnota, kotraž da so do wodźenskeho elementa zapodać. Standard = -1000000

MaxValue: najwjetša hódnota, kotraž da so do wodźenskeho elementa zapodać. Standard = +1000000

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateGroupBox

Wutwori nowy wodźenski element typa GroupBox w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateHyperlink

Wutwori nowy wodźenski element typa Hyperlink w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "NONE" (standard), "FLAT" abo "3D"

MultiLine: Hdyž True (standard = False), da so popis we wjace hač jednej lince pokazać

Align: horicontalne wusměrjenje, "LEFT" (standard), "CENTER" abo "RIGHT"

VerticalAlign: wertikalne wusměrjenje, "TOP" (standard), "MIDDLE" abo "BOTTOM"

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateImageControl

Wutwori nowy wodźenski element typa ImageControl w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

Scale: Jedna ze slědowacych hódnotow: "FITTOSIZE" (standard), "KEEPRATIO" abo "NO"

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateListBox

Wutwori nowy wodźenski element typa ListBox w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

DropDown: Hdyž True (standard), so wuběranske tłóčatko pokazuje

LineCount: Podawa maksimalnu ličbu linkow, kotrež so maja we wuběranskim meniju pokazać (standard = 5)

MultiSelect: Hdyž True, so wjace hač 1 zapisk wuběra. Standard = False

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateNumericField

Wutwori nowy wodźenski element typa NumericField w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

SpinButton: Hdyž True (standard = False), wjerćite tłóčatko eksistuje

MinValue: najmjeńša hódnota, kotraž da so do wodźenskeho elementa zapodać. Standard = -1000000

MaxValue: najwjetša hódnota, kotraž da so do wodźenskeho elementa zapodać. Standard = +1000000

Increment: stup, hdyž so wjerćite tłóčatko tłóči. Standard = 1

Accuracy: Podawa decimalnu dokładnosć. Standard = 2 decimalnej městnje

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreatePatternField

Wutwori nowy wodźenski element typa PatternField w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

EditMask: znamješkowy kod, kotryž postaja, štož wužiwar móže zapodać
Hlejće Pattern_Field we wikiju za dalše informacije.

LiteralMask: wobsahuje spočatne hódnoty, kotrež so w mustrowym polu pokazuja

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateProgressBar

Wutwori nowy wodźenski element typa ProgressBar w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

MinValue: najmjeńša hódnota, kotraž da so do wodźenskeho elementa zapodać. Standard = 0

MaxValue: najwjetša hódnota, kotraž da so do wodźenskeho elementa zapodać. Standard = 100

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateRadioButton

Wutwori nowy wodźenski element typa RadioButton w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

MultiLine: Hdyž True (standard = False), da so popis we wjace hač jednej lince pokazać

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateScrollBar

Wutwori nowy wodźenski element typa ScrollBar w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Orientation: wužiwaće za horicontalne wusměrjenje "H" abo "Horizontal"; za wertikalne wusměrjenje "V" abo "Vertical" wužiwaće.

Border: "3D" (standard), "FLAT" abo "NONE"

MinValue: najmjeńša hódnota, kotraž da so do wodźenskeho elementa zapodać. Standard = 0

MaxValue: najwjetša hódnota, kotraž da so do wodźenskeho elementa zapodać. Standard = 100

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateTableControl

Wutwori nowy wodźenski element typa TableControl w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

RowHeaders: Hdyž True (standard), so linkowe hłowy pokazuja

ColumnHeaders: Hdyž True (standard), so špaltowe hłowy pokazuja

ScrollBars: móžne hódnoty su: "H" abo "Horizontal" (horicontalne suwanske lajsty), "V" abo "Vertical" (wertikalne suwanske lajsty); "B" abo "Both" (wobě suwanskej lajsće); "N" abo "None" (standard) za žane suwanske lajsty. Suwanske lajsty so dynamisce jewja, hdyž su trěbne.

GridLines: Hdyž True (standard = False), so horicontalne a wertikalne linije mjez lěsyčnymi celemi rysuja.

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateTabPageContainer

Wutworja nowy wodźenski element typa TabPageContainer w aktualnym dialogu. Rajtarki so po separatnych linijach w dialogu rozdźěleja, jeli trjeba. Wjacore TabPageContainer so njepodpěruja.

Wutworjenje wodźenskeho elementa TabPageContainer so přeco jako poslednje při wutworjenju dialoga stawa.

### Syntaksa:

svc.CreateTabPageContainer(ControlName: str, Place: any, TabHeaders: str[1..*], Border: str = "3D"): svc

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

TabHeader: Matriks znamješkowych rjećazkow, kotryž kóždy jednotliwy popis za rajtarki definuje

Border: "3D" (standard), "FLAT" abo "NONE"

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

         Set myTabPageContainer = oDlg.CreateTabPageContainer("someContainer", Array(20, 20, 60, 15), TabHeaders := Array("Modules", "Dialogs", "Libraries"))

##### W Python

         myTabPageContainer = dlg.CreateTabPageContainer('theTabs', TabHeaders=('Modules', 'Dialogs', 'Libraries'), place=(20, 20, 60, 15))

## CreateTextField

Wutworja nowy wodźenski element typa TextField w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

MultiLine: Hdyž True (standard = False), da so popis we wjace hač jednej lince pokazać

MaximumLength: maksimalna ličba znamješkow (standard = 0, woznamjenja njewobmjezowany)

PasswordCharacter: jednotliwe znamješko, kotrež hódnotu wróćenja za hesłowe tekstowe polo (standard = "") podawa

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateTimeField

Wutwori nowy wodźenski element typa TimeField w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

MinTime: najmjeńši čas, kotryž da so do wodźenskeho elementa zapodać. Standard = 0

MaxTime: najwjetši čas, kotryž da so do wodźenskeho elementa zapodać. Standard = 24 hodźin

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## CreateTreeControl

Wutwori nowy wodźenski element typa TreeControl w aktualnym dialogu.

### Syntaksa:

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

### Parametry:

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować.

Place: pak …

- Matriks Basic pak tupel Python ze 4 elementami: (X, Y, šěrokosć, wysokosć)

- objekt com.sun.star.awt.Rectangle [X, Y, šěrokosć, wysokosćHeight]

Wšě elementy so w jednotkach Map AppFont zwuraznjeja.

Border: "3D" (standard), "FLAT" abo "NONE"

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

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

##### W Python

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

## EndExecute

Skónči pokazanje modalneho dialoga a wróći argument ja hódnota wróćenja za aktualnu běžacu akciju Execute().

EndExecute() je w normalnym padźe w předźěłowanju makra wobsahowana, kotrež so přez dialog abo podawk wodźenskeho elementa wuwabja.

### Syntaksa:

svc.EndExecute(returnvalue: int)

### Parametry:

returnvalue: Hódnota, kotraž so běžacej metodźe Execute() přepodawa.

### Přikład:

##### W 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

##### W Python

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

Hornje naspomnjenja com.sun.star.lang.EventObject su opcionalne. Tajke přispomnjenki pomhaja, programowansku tykačku (API) LibreOfficeDev identifikować.

## Execute

Pokazuje dialogowe polo a čaka, hdyž je modalne, na jeho kónčenje přez wužiwarja. Wróćena hódnota je:

- 0: Tłóčatko Přetorhnyć so tłóči.

- 1: Tłóčatko W porjadku so tłóči

- Hewak je so dialog z přikazom EndExecute() skónčił, kotryž je so přez dialogowy element abo element wodźenskeho elementa wudał.

Za njemodalne dialogi metoda přeco 0 wróća a wuwjedźenje makra so pokročuje.

### Syntaksa:

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

### Parametry:

modal: False, hdyž je njemodalny dialog. Standard = True.

### Přikład:

W tutym přikładźe Basic so dialog myDialog w bibliotece Standard aktualneho dokumenta składuje.

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

Tutón kod Python modalny dialog DlgConvert ze zhromadneje biblioteki Basic Euro pokazuje.

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

## GetTextsFromL10N

Wuměni wšě krute tekstowe znamješkowe rjećazki w dialogu z jich přełoženymi wersijemi na zakładźe słužboweje instancy L10N. Tuta metoda slědowace znamješkowe rjećazki přełožuje:

- Titul dialoga.

- Popis slědowacych typow wodźenskich elementow: tłóčatko, kontrolny kašćik, škitana linija, njezměnite tekstowe polo a opciske tłóčatko.

- Statiske znamješkowe rjećazki w lisćinowych a kombinaciskich polach.

- Pomocny tekst, kotryž so pokazuje, hdyž so myška nad wodźenski element pohibuje.

Metoda True wróći, jeli je wuspěšna.

Zo byšće lisćinu přełožujomnych znamješkowych rjećazkow w dialogu wutworił, wužiwajće metodu AddTextsFromDialog ze słužby L10N.

### Syntaksa:

svc.GetTextsFromL10N(l10n: svc): bool

### Parametry:

l10n: Słužbowa instanca L10N, z kotrejež so přełožene znamješkowe rjećazki wotwołuja.

### Přikład:

Slědowacy přikład přełožene znamješkowe rjećazki začita a nałožuje je na dialog "MyDialog".

##### W Basic

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

##### W Python

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

Čitajće stronu pomocy słužba L10N, zo byšće wjace wo tym zhonił, kak móžeće z datajemi PO a POT wobchadźeć.

## ImportControl

Importujće a duplicěrujće eksistowacy wodźenski element někajkeho typa z jednoho dialoga do aktualneho dialog. Duplicěrowany wodźenski element njezměnjeny wostawa. Nowy wodźenski element da so přemjenować a přesunyć. Podawkowe wobdźěłaki dadźa so, jeli eksistuja, tež importować.

### Syntaksa:

svc.ImportControl(SourceDialog: svc, SourceName: str, opt ControlName: str, Page: num = 0, OffsetX: num = 0, OffsetY:num = 0, IncludeOnProperties: bool = False): svc

### Parametry:

SourceDialog: klasowa instanca SFDialogs.Dialog.

SourceName: mjeno wodźenskeho elementa, kotryž so ma importować.

ControlName: mjeno noweho wodźenskeho elementa. Njesměje hišće eksistować. Standard je SourceName

Page: čisło strony noweho wodźenskeho elementa. Standard = 0

OffsetX, OffsetY: ličba pikselow, kotrež so maja koordinatam žórłoweho wodźenskeho elementa w jednotkach "Map AppFont" přidać. Standard = 0, móže negatiwna być.

IncludeOnProperties: zapřijima podawkowe kajkosće On.... Standard = False.

### Typ wróćenja:

Instanca słužby SFDialogs.DialogControl abo Nothing.

### Přikład:

##### W Basic

         Set mCtrl = oDlg.ImportControl(srceDlg, "someCtrlName")

##### W Python

         dlg.ImportControl(srceDlg, 'aCtrlName', includeOnProperties=true)

## OrderTabs

Nastajće tabulatorowy porjad rjada wodźenskich elementow. Porjad wodźenskich elementow so jako matriks mjenow wodźenskich elementow wot prěnjeho do poslednjeho podawa.

Wodźenske elementy z indeksom >= 1 z tabulatorowej tastu ↹ přistupne njejsu, jeli:
- so w podatej lisćinje wuwostajeja
- jich typ je FixedLine, GroupBox abo ProgressBar
- su znjemóžnjene

### Syntaksa:

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

### Parametry:

TabsList: matriks płaćiwych mjenow wodźenskich elementow w tabulatorowym porjedźe

Start: Tabulatorowy indeks, kotryž so ma prěnjemu wodźenskemu elementej w lisćinje připokazać. Standard = 1

Increment: diferenca mjez 2 na so slědowacymaj tabulatorowymaj indeksomaj. Standard = 1

### Typ wróćenja:

Wróći True, hdyž je wuspěšne.

### Přikład:

##### W Basic

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

##### W Python

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

## Resize

Přesuwa róžk horjeka nalěwo dialoga k nowym koordinatam a/abo měnja jeho wotměry. Wšě wotstupy so w jednotkach AppFont zwuraznjeja. Bjez argumentow metoda spočatne wotměry wróćo staji. Wróći True, jeli změnjenje wulkosće běše wuspěšne.

### Syntaksa:

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

### Parametry:

Left: horicontalny wotstup wot hornjeho lěweho róžka

Top: wertikalny wotstup wot hornjeho lěweho róžka

Width: šěrokosć praworóžka, kotryž dialog wobsahuje

Height: wysokosć praworóžka, kotryž dialog wobsahuje

Falowace argumenty njezměnjene wostawaja

### Přikład:

##### W Basic

         oDlg.Resize(1000, 2000, Height := 6000) ' Šěrokosć so njeměnja

##### W Python

         dlg.Resize(1000, 2000, Height = 6000) # Šěrokosć so njeměnja

## SetPageManager

Definuje, kotre wodźenske elementy w dialogu su za wuměnjenje strony zamołwite, štož rjadowanje kajkosće Page dialoga a jeje wodźenskich elementow wosnadnja.

Dialogi móža wjacore strony měć a tuchwilu widźomna strona so přez dialogowu kajkosć Page definuje. Jeli kajkosć Page njezměnjena wostawa, je standardna widźomna strona runja 0 (nula), to rěka, zo wěsta strona definowana njeje a wšě widźomne wodźenske elementy so njedźiwajo na hódnotu pokazuja, kotraž je w jich kajkosći Page nastajena.

Hdyž so kajkosć Page dialoga do někajkeje druheje hódnoty kaž 1, 2, 3 a tak dale měnja, so jenož wodźenske elementy pokazuja, kotrychž kajkosć Page stronje aktualneho dialog wotpowěduje.

Z pomocu metody SetPageManager je móžno, štyri typy zrjadowakow strony definować:

- Lisćinowe abo kombinaciske polo: W tutym padźe kóždy zapisk w lisćinowym polu abo kombinaciskim polu stronje wotpowěduje. Prěni zapisk so na stronu 1 poćahuje, druhi zapisk so na stronu 2 poćahuje a tak dale.

- Skupina opciskich tłóčatkow: skupinu opciskich tłóčatkow definuje, kotrež wodźa, kotra strona je widźomna.

- Rjad tłóčatkow: sadźbu tłóčatkow definuje, z kotrychž kóžde dialogowej stronje wotpowěduje. To da so wužiwać, zo by so powjerch z rajtarkami emulował, hdyž so tłóčatka bok po boku w dialogu placěruja.

- Tłóčatka Předchadny/Přichodny: definuje, kotre tłóčatka so w dialogu wužiwaja, zo bychu k předchadnej/přichodnej stronje w dialogu nawigěrować.

Je móžno, wjace hač jedyn mechanizm za rjadowanje stronow naraz wužiwać.

Tuta metoda měła so jenož jónu wuwołać, prjedy hač so metoda Execute wuwołuje. Naslědne wuwołanja so ignoruja.

Jeli wuspěšne, tuta metoda True wróći.

### Syntaksa:

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

### Parametry:

pilotcontrols: přez komu dźělena lisćina mjeno wodźenskich elementow ListBox, ComboBox abo RadioButton, kotrež so jako zrjadowaki stronow wužiwaja. Podajće za wodźenske elementy RadioButton mjeno prěnjeho wodźenskeho elementa w skupinje, kotryž so ma wužiwać.

tabcontrols: přez komu dźělena lisćina tłóčatkowych mjenow, kotrež so jako zrjadowaki stronow wužiwaja. Porjad, w kotrymž so w tutym argumenće podawaja, čisłu strony wotpowěduje, kotrež su přirjadowane.

wizardcontrols: přez komu dźělena lisćina z mjenomaj dweju tłóčatkow, kotrejž so jako tłóčatce Wróćo/Dale wužiwatej.

lastpage: čisło poslednjeje strony, kotraž je k dispoziciji. Poruča so, tutu hódnotu podać, hdyž zrjadowak za předchadnu/přichodnu stronu wužiwaće.

### Přikład:

Předstajće sej dialog z třomi stronami. Dialog ma wodźenski element ListBox z mjenom "aPageList", kotryž so wužiwa, zo by widźomnu stronu wodźił. Nimo toho stej dwě tłóčatce z mjenom "btnPrevious" a "btnNext", kotrejž so jako tłóčatce Wróćo/Dale wužiwatej.

##### W Basic

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

##### W Python

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

## Terminate

Skónči słužbu Dialog za aktualnu instancu. Wróći True, jeli skónčenje běše wuspěšne.

### Syntaksa:

svc.Terminate(): bool

### Přikład:

Slědowacej přikładaj Basic a Python njemodalnej dialogaj DlgConsole a dlgTrace wočinitej. Kóždy so w zhromadnej bibliotece ScriptForge a Access2Base składuje. Tłóčatki Začinić so znjemóžnjeja a eksplicitne skónčenje so na kóncu běžaceho procesa přewjedźe.

W tutym přikładźe tłóčatko w DlgConsole zadźěwane začinjenje wokna naruna:

##### W Basic

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

##### W Python

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

Wšě rutiny Basic ScriptForge abo identifikatory, kotrež so z podsmužku „_“ započinaja, su za interne wužiwanje wuměnjene. Njejsu za to myslene, so w makrach Basic abo skriptach Python wužiwać.

Podobne temy

Słužba SFDialogs.DialogControl

ScriptForge.UI service

Prošu podpěrajće nas!