Tjenesten SFDialogs. Dialog

Tjenesten Dialog bidrager til administrationen af dialoger oprettet med Basic Dialogeditoren eller dialoger oprettet under afvikling. Hver instans af den aktuelle klasse repræsenterer en enkelt dialog vist for brugeren.

Tipikon

Et dialogfelt kan vises i modal eller ikke-modal tilstand.


I modal tilstand vises feltet og udførelsen af makro-processen er udsat, indtil der trykkes på en af knapperne OK eller Annuller. I mellemtiden kan brugerhandlinger, udført på feltet, udløse bestemte handlinger.

I ikke-modal tilstand "Flyder" dialogfeltet på brugerskrivebordet og udførelsen af makroprocessen fortsætter normalt. En ikke-modal dialog lukker, når den afsluttes med metoden Terminate() eller når sessionen LibreOffice Slutter. Knappen Luk vindue er inaktiv i ikke-modale dialoger.

Et dialogfelt forsvinger fra hukommelsen efter dets udtrykkelige afslfutning.

Tipikon

Tjenesten SFDialogs.Dialog er nært beslægtet med tjenesten SFDialogs.DialogControl.


Kald og brug af tjeneste

Før brug af tjenesten Dialog skal biblioteket ScriptForge være indlæst eller importeret:

Noteikon

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

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


Tjenesten Dialog kaldes gennem metoden CreateScriptService. Den kræver yderligere tre positions-argumenter for at specificere dialogen, der skal aktiveres:

Container: "GlobalScope" til forudinstallerede biblioteker eller et vinduesnavn som defineret af tjenesten ScriptForge.UI. Standardværdien tom streng "" står for det aktuelle dokument.

Library: Biblioteksnavn med skelnen mellem Store og små bogstaver, der findes i containeren. Standardværdien er "Standard".

DialogName: En streng, hvor der skelnes mellem Store og små bogstaver, og som betegner dialogen.

Eksemplerne neden for i Basic og Python viser dialogen dlgConsole, som hører til det delte ScriptForge-bibliotek:


      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 af kontrolelementer skrives her...
      lButton = oDlg.Execute()
      'Standard tilstand = Modal
      If lButton = oDlg.OKBUTTON Then
      '... Proceskontrollerer og gør, hvad der er nødvendigt her
      End If
      oDlg.Terminate()
  

Eller med Python:


    dlg = CreateScriptService('SFDialogs.Dialog', 'GlobalScope', 'ScriptForge', 'dlgConsole')
    # ... initialisering af kontroller skrives her...
    rc = dlg.Execute()
    # Standard-tilstand er Modal
    if rc == dlg.OKBUTTON:
        # ... Behandl kontroller og gør, hvad der er nødvendigt her
    dlg.Terminate()
  
Noteikon

Brug strengen "GlobalScope" som container-argument, når dialogen er gemt enten i Mine makroer og dialoger eller i Programmakroer og -dialoger.


Tipikon

Dialog-tjenesten tilbyder metoder som dynamisk opretter nye kontrolelementer i en eksisterende dialog, forhåndsdefineret med Dialogeditoren. En dialog initialiseres med kontrolelementer i Dialogeditoren, og nye kontrolelementer kan tilføjes på afviklingstidspunktet før eller efter dialogens Execute()-kommando.


Tjenesten Dialog kan kaldes på samme måde – gennem CreateScriptService-metoden – når dialoger oprettes under afvikling. Det kræver yderligere to positionsargumenter efter navnet på ad-hoc-tjenesten "NewDialog":

DialogName: En streng som angiver dialogvinduet, med forskel på store og små bogstaver.

Place: Vinduesplacering af dialogen, enten:

Alle elementer er udtrykt i Map AppFont-måleenheder.


    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))
       # ... Proceskontroller og udfør hvad der ellers er brug for
  

Alle de egenskaber og metoder, som gælder for forhåndsdefinerede dialoger, er tilgængelige for sådanne nye dialoger. Specier serien af CreateXXX()-metoder til at tilføje nye kontrolelementer til dialogen.

At hente Dialog-instansen, som udløste en dialoghændelse

En instans af Dialog-tjenesten kan hentes via SFDialogs.DialogEvent-tjenesten, forudsat at dialogen blev initieret med Dialog-tjenesten. I eksemplet nedenfor indeholder oDlg den instans af Dialog, som udløste dialoghændelsen.


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

Eller med Python:


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

Bemærk at i det foregående eksempler kan præfikset "SFDialogs." udelades, når det passer bedst.

Håndtering af udtagelser i hændelseshåndteringer

Når du opretter en hændelseshåndtering til dialoghændelser, er det god praksis at håndtere fejl inde i selve subrutinen. Antag for eksempel at hændelseshåndteringen nedenfor bliver kaldt når museknappen trykkes i dialogvinduet.


    Sub OnMouseButtonPressed(ByRef oEvent As Object)
    On Local Error GoTo Catch
        Dim oDialog As Object
        oDialog = CreateScriptService("DialogEvent", oEvent)
        ' Behandl hændelsen
        Exit Sub
    Catch:
        MsgBox SF_Exception.Description
        SF_Exception.Clear
    End Sub
  
Tipikon

Kald SF_Exception.Clear hvis du ikke ønsker at fejlen skal videreføres, efter at dialogprogrammet er afsluttet.


I Python, brug indbyggede try/except-blokke til hændelseshåndtering som vist nedenfor:


    def on_mouse_button_pressed(event=None):
        try:
            dlg = CreateScriptService("DialogEvent", event)
            # Behandl hændelsen
        except Exception as e:
            # Objektet "bas" er en instans af Basic-tjenesten
            bas.MsgBox(str(e))
  

Egenskaber

Navn

Skrivebeskyttet

Type

Beskrivelse

OKBUTTON

Ja

Integer

Værdi = 1. Der blev trykket på en OK-knap.

CANCELBUTTON

Ja

Integer

Værdi = 1. Der blev trykket på en OK-knap.

Caption

Nej

String

Angiv dialogens titel.

Height

Nej

Long

Angiv højden på dialogfeltet.

Modal

Ja

Boolean

Angiver, om dialogfeltet aktuelt er i udførelse i modal tilstand.

Name

Ja

String

Dialogens navn

Page

Nej

Integer

En dialog kan have flere sider, som brugeren kan gå igennem trin for trin. Dialogobjektets sideegenskab definerer, hvilken af dialogens sider, der er aktiv.

Visible

Nej

Boolean

Angiv, om dialogfeltet er synligt på skrivebordet. Som standard er det ikke synligt, før metoden Execute() køres og synligt derefter.

XDialogModel

Ja

UNO-
objekt

Det UNO-objekt, der repræsenter dialogenmodellen. Se detaljeret information i XControlModel og UnoControlDialogModel i APIens (Application Programming Interface) dokumentation.

XDialogView

Ja

UNO-
objekt

Det UNO-objekt, der repræsenter dialogvisningen. Se detaljeret information i XControl og UnoControlDialog i APIens (Application Programming Interface) dokumentation.

Width

Nej

Long

Angiv dialogfeltets bredde.


Hændelsesegenskaber

On...-hændelsesegenskaber er URI-strenge, der refererer til et script, som udløses ved en hændelse. Læs dens specifikation in scripting framework URI specification.

Navn

Beskrivelse af Basic IDE

OnFocusGained

Når fokus modtages

OnFocusLost

Når fokus mistes

OnKeyPressed

Tast trykket

OnKeyReleased

Tast sluppet

OnMouseDragged

Mus flyttet mens tast trykkes

OnMouseEntered

Mus indenfor

OnMouseExited

Mus udenfor

OnMouseMoved

Mus flyttet

OnMousePressed

Museknap trykket

OnMouseReleased

Museknap sluttet


Tipikon

Tip: Alle On...-egenskaberne kan sættes med programmering.
Eksemplet Hvordan data vises i et træ-kontrolelement i LibreOffice Wiki demonstrerer dette.


Advarselsikon

Tilordning af hændelse via Basic IDE og tilordning af hændelser via makroer udelukker hinanden.


Liste over metoder i tjenesten 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


Tipikon

TabPageContainer-kontrolelementer er ikke tilgængelige i dialogeditoren.


Noteikon

Målene for et dialogvindue tildeles med Map AppFont-måleenheder. En dialog- eller kontrolelement-model bruger også AppFont-måleenheder, mens deres visninger bruger pixels.


Activate

Sæt fokus på den aktuelle instans af Dialog. Returner True, hvis fokuseringen lykkedes.

Den metode kaldes fra en dialog, en kontrolhændelse eller når der vises en dialog i ikke-modal tilstand.

Syntaks:

svc.Activate(): bool

Eksempel:


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

Både Python- og LibreOffice-Basic-eksempler antager, at dialogen er gemt i det aktuelle dokuments Standard-bibliotek.


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

Center

Centrerer den aktuelle instans af dialogen midt i det ordnede vindue. Uden argumenter centrerer metoden dialogen i midten af det aktuelle vindue.

Returnerer True (sand), når den lykkes.

Syntaks:

svc.Center(opt Parent: obj): bool

Parametre:

Overordnet: Et valgfrit objekt kan være enten…

Eksempel:

I Basic

     Sub TriggerEvent(oEvent As Object)
         Dim oDialog1 As Object, oDialog2 As Object, lExec As Long
         Set oDialog1 = CreateScriptService("DialogEvent", oEvent) ' Dialogen, der udløste hændelsen
         Set oDialog2 = CreateScriptService("Dialog", ...) ' Åbn en anden dialog
         oDialog2.Center(oDialog1)
         lExec = oDialog2.Execute()
         Select Case lExec
             ...
     End Sub
  
I Python

     def triggerEvent(event: uno):
       dlg1 = CreateScriptService('DialogEvent.Dialog', event)  # Dialogen, der har udløst hændelsen
       dlg2 = CreateScriptService('Dialog', ...)  # Åbn en anden dialog
       dlg2.Center(dlg1)
       rc = dlg2.Execute()
       if rc is False:
         # ...
   

CloneControl

Lav en kopi af et eksisterende kontrolelement af en hvilken som helst type i selve dialogen. Det kopierede kontrolelement efterlade uændret og kan flyttes.

Syntaks:

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

Parametre:

SourceName: Navnet på det kontrolelement, som skal kopieres.

ControlName: Et gyldigt navn som en streng med forskel på store og små bogstaver. Navnet må ikke eksistere allerede.

Left, Top: Koordinaterne for det nye kontrolelement udtrykt i AppFont-måleenheder.

Returtype

En instans af tjenesten 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 enten:

Syntaks:

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

svc.Controls(controlname: str): svc

Parametre:

KontrolNavn: Et gyldigt kontrolnavn som en streng, der skelner mellem Store og små bogstaver. Hvis den mangler, returneres listen over kontrolnavne som en nul-baseret matrix.

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

Opretter et nyt kontrolelement af typen Button (knap) i den aktuelle dialog.

Syntaks:

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

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

Toggle: når True oprettes en til/fra-trykknap (Toggle button). Standard = False

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

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen CheckBox (afkrydsningsfelt) i den aktuelle dialog.

Syntaks:

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

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

MultiLine: Når True (standard = False), kan billedteksten blive vist på mere end en enkelt linje.

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen ComboBox (kombinationsfelt) i den aktuelle dialog.

Syntaks:

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

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

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

DrowDown: Når Sand (standard) vises en rullegardin-knap.

LineCount: Angiver det maksimale antal linjer, som vises i rullegardin-menuen (standard = 5)

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen CurrencyField (valutafelt) i den aktuelle dialog.

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

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

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

SpinButton: Når True (standard = False), vises en skalafelt-knap

MinValue: Den laveste værdi, som kan skrives i kontrolelementet. Standard = -1000000

MaxValue: Den højeste værdi, som kan skrives i kontrolelementet. Standard = +1000000

Increment: Trinnet (forøgelse/formindskelse), når der trykkes på skalafelt-knappen. Standard = 1

Accuracy: Angiver den decimale præcision. Standard = 2 decimaler

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen DateField (datofelt) i den aktuelle dialog.

Syntaks:

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

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

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

DropDown: Når True (standard = False) vises en rullegardin-knap

MinDate: Den tidligste dato, som kan skrives i kontrolelementet. Standard = 1900-01-01

MaxDate: Den seneste dato, som kan skrives i kontrolelementet. Standard = 2200-12-31

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen FileControl (filvælger) i den aktuelle dialog.

Syntaks:

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

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

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

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen FixedLine (fast linje) i den aktuelle dialog.

Syntaks:

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

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

Orientation: For vandret (horisontal) orientering brug "H" eller "Horizontal"; for lodret (vertikal) orientering brug "V" eller "Vertical".

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen FixedText (fast tekst) i den aktuelle dialog.

Syntaks:

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

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

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

Multiline: Når True (standard = False) kan billedteksten blive vist på flere linjer.

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

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

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen FormattedField (formateret felt) i den aktuelle dialog.

Syntaks:

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

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

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

SpinButton: Når True (standard = False), vises en skalafelt-knap

MinValue: Den laveste værdi, som kan skrives i kontrolelementet. Standard = -1000000

MaxValue: Den højeste værdi, som kan skrives i kontrolelementet. Standard = +1000000

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen GroupBox (gruppefelt) i den aktuelle dialog.

Syntaks:

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

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen Hyperlink i den aktuelle dialog.

Syntaks:

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

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

Multiline: Når True (standard = False) kan billedteksten blive vist på flere linjer.

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

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

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen ImageControl (billed-kontrolelement) i den aktuelle dialog.

Syntaks:

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

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

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

Scale: En af værdierne "FITTOSIZE" (standard), "KEEPRATIO" eller "NO"

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen ListBox (rulleliste) i den aktuelle dialog.

Syntaks:

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

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

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

DrowDown: Når Sand (standard) vises en rullegardin-knap.

LineCount: Angiver det maksimale antal linjer, som vises i rullegardin-menuen (standard = 5)

MultiSelect: Når True kan markeres mere end 1 element ad gangen. Standard = False

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen NumericFielc (talfelt) i den aktuelle dialog.

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

Parametre:

ControlName: Navnet på det nye kontrolelement. Navnet på ikke eksistere allerede.

Place: enten …

Alle elementer er udtrykt i AppFont-måleenheder.

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

SpinButton: Når True (standard = False), vises en skalafelt-knap

MinValue: Den laveste værdi, som kan skrives i kontrolelementet. Standard = -1000000

MaxValue: Den højeste værdi, som kan skrives i kontrolelementet. Standard = +1000000

Increment: Trinnet (forøgelse/formindskelse), når der trykkes på skalafelt-knappen. Standard = 1

Accuracy: Angiver den decimale præcision. Standard = 2 decimaler

Returtype

En instans af tjenesten 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

Opretter et nyt kontrolelement af typen PatternField (mønsterfelt) i den aktuelle dialog.