SFDialogs.DialogControl tjeneste

Tjenesten DialogControl administrerer kontrollene som tilhører en dialog som er definert med Basic Dialog Editor. Hver forekomst av gjeldende tjeneste representerer en enkelt kontroll i en dialogboks.

Fokuset er satt på å få og stille inn verdiene som vises av kontrollene i dialogboksen. Formatering er tilgjengelig via egenskapene XControlModel og XControlView.

Merk at innholdet i den unike DialogControl.Value egenskapen varierer i henhold til kontrolltypen.

En spesiell oppmerksomhet er gitt til kontroller av typen trekontroll. Det er lett å befolke et tre, enten gren for gren, eller med et sett med grener på en gang. Fylling av en trekontroll kan utføres statisk eller dynamisk.

tip

SFDialogs.DialogControl tjenesten er nært knyttet til SFDialogs.Dialog tjenesten.


Tjenestepåkallelse

Før du bruker DialogControl-tjenesten, må ScriptForge-biblioteket lastes eller importeres:

note

• Grunnleggende makroer krever å laste ScriptForge-biblioteket ved hjelp av følgende setning:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Python-skript krever import fra scriptforge-modulen:
fra scriptforge import CreateScriptService


DialogControl-tjenesten påkalles fra en eksisterende Dialog-tjenesteforekomst gjennom metoden Controls(). Dialogen må startes med SFDialogs.Dialog-tjenesten.


      Dim myDialog As Object, myControl As Object
      Set myDialog = CreateScriptService("SFDialogs.Dialog", "GlobalScope", myLibrary, DialogName)
      Set myControl = myDialog.Controls("myTextBox")
      myControl.Value = "Dialogen startet " & Now()
      myDialog.Execute()
      ' ... behandle kontrollens faktiske verdier
      myDialog.Terminate()
   

     from time import localtime, strftime
     dlg = CreateScriptService('SFDialogs.Dialog', 'GlobalScope', lib_name, dlg_name)
     text = dlg.Controls('myTextBox')
     text.Value = "Dialogen startet " + strftime("%a, %d %b %Y %H:%M:%S", localtime())
     dlg.Execute()
     # ... behandle kontrollens faktiske verdier
     dlg.Terminate()
   

Henter DialogControl-forekomsten som utløste en kontrollhendelse

En forekomst av DialogControl-tjenesten kan hentes via SFDialogs.DialogEvent-tjenesten, forutsatt at dialogen ble startet med Dialog-tjenesten. I eksemplet nedenfor inneholder oControl DialogControl-forekomsten som utløste kontrollhendelsen.


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

Eller bruk Python:


     def control_event_handler(event: uno):
         oControl = CreateScriptService('SFDialogs.DialogEvent', event)
         # ...
  

Merk at i de foregående eksemplene kan prefikset "SFDialogs." utelates når det anses hensiktsmessig.

Håndtering av unntak i hendelsesbehandlere

Når du oppretter en hendelsesbehandler for kontrollhendelser, er det god praksis å håndtere feil inne i selve subrutinen. Anta for eksempel at hendelsesbehandleren nedenfor kalles når knappen klikkes.


    Sub OnButtonClicked(ByRef oEvent As Object)
    On Local Error GoTo Catch
        Dim oControl As Object
        oControl = CreateScriptService("DialogEvent", oEvent)
        ' Kjør hendelsen
        Exit Sub
    Catch:
        MsgBox SF_Exception.Description
        SF_Exception.Clear
    End Sub
  
tip

Ring SF_Exception.Clear hvis du ikke vil at feilen skal forplante seg etter at dialogboksen er avsluttet.


I Python, bruk native try/except-blokker for unntakshåndtering som vist nedenfor:


    def on_button_clicked(event=None):
        try:
            oControl = CreateScriptService("DialogEvent", event)
            # Kjør hendelsen
        except Exception as e:
            # Objektet "bas" nedenfor er en forekomst av Basic-tjenesten
            bas.MsgBox(str(e))
  

Kontrolltyper

Tjenesten DialogControl er tilgjengelig for disse kontrolltypene:

• Button
• CheckBox
• ComboBox
• CurrencyField
• DateField
• FileControl

• FixedLine
• FixedText
• FormattedField
• GroupBox
• Hyperlink
• ImageControl

• ListBox
• NumericField
• PatternField
• ProgressBar
• RadioButton
• ScrollBar

• TableControl
• TextField
• TimeField
• TreeControl


Tjenesten DialogControl er tilgjengelig for disse kontrolltypene:

Navn

Skrivebeskyttet

Type

Gjelder for

Beskrivelse

Border

Ja

String

Button, …

Egenskapen Border refererer til omgivelsene til kontrollen: "3D", "FLAT" eller "INGEN".

Cancel

Nei

Boolean

Button

Angir om en kommandoknapp har oppførselen til en Avbryt-knapp eller ikke.

Caption

Nei

String

Button, CheckBox, FixedLine, FixedText, GroupBox, Hyperlink, RadioButton

Angir teksten som er knyttet til kontrollen.

ControlType

Ja

String

Alle

En av typene som er oppført ovenfor.

CurrentNode

Nei

UNO
objekt

TreeControl

Den øverste noden som er valgt i trekontrollen. Se XmutableTreeNode-programmeringsgrensesnittet i Application Interface (I) for detaljert informasjon.

Default

Nei

Boolean

Button

Angir om en kommandoknapp er standardknappen (OK).

Enabled

Nei

Boolean

Alle

Angir om kontrollen er tilgjengelig med markøren.

Format

Nei

String

DateField, TimeField, FormattedField

(skrivebeskyttet)

Angir formatet som brukes til å vise datoer og klokkeslett. Det må være en av disse strengene:

For datoer: "Standard (kort)", "Standard (kort ÅÅ)", "Standard (kort ÅÅÅÅ)", "Standard (lang)", "DD/MM/ÅÅ", "MM/DD/ÅÅ", " ÅÅ/MM/DD", "DD/MM/ÅÅÅÅ", "MM/DD/ÅÅÅÅ", "ÅÅÅÅ/MM/DD", "ÅÅ-MM-DD", "ÅÅÅÅ-MM-DD".

For tider: "24t kort", "24t lang", "12t kort", "12t lang".

ListCount

Ja

Long

ComboBox, ListBox, TableControl

Angir antall rader i en ListBox og ComboBox eller en tabellkontroll.

ListIndex

Nei

Long

ComboBox, ListBox, TableControl

Spesifiserer hvilket element som er valgt i en ListBox, en ComboBox eller en TableControl.

Locked

Nei

Boolean

ComboBox, CurrencyField, DateField, FileControl, FormattedField, ListBox, NumericField, PatternField, TextField, TimeField

Angir om kontrollen er skrivebeskyttet.

MultiSelect

Nei

Boolean

ListBox

Angir om en bruker kan gjøre flere valg i en listeboks.

Name

Ja

String

Alle

Navnet på kontrollen.

Page

Nei

Integer

Alle

En dialog kan ha flere sider som brukeren kan gå gjennom trinn for trinn. Side-egenskapen til Dialog-objektet definerer hvilken side i dialogboksen som er aktiv.

Side-egenskapen til en kontroll definerer siden i dialogboksen der kontrollen er synlig.

Parent

Ja

Dialog
tjeneste

Alle

Den overordnede SFDialogs.Dialog klasseobjektforekomsten.

Picture

Nei

String

Button, ImageControl

Angir filnavnet som inneholder en punktgrafikk eller annen type grafikk som skal vises på den angitte kontrollen. Filnavnet må samsvare med FileName-attributtet til ScriptForge.FileSystem-tjenesten.

RootNode

Ja

UNO
objekt

TreeControl

Et objekt som representerer den laveste rotnoden (vanligvis er det bare én slik rotnoden). Se XmutableTreeNode-programmeringsgrensesnittet i Application Interface (I) for detaljert informasjon.

RowSource

Nei

Array of strings

ComboBox, ListBox

Spesifiserer dataene i en kombinasjonsboks eller en listeboks.

TabIndex

Ja

Numeric

All

Egenskapen TabIndex spesifiserer en kontrolls plass i tabulatorrekkefølgen i dialogboksen.

Text

Ja

String

ComboBox, FileControl, FormattedField, PatternField, TextField

Gir tilgang til teksten som vises av kontrollen.

TipText

Nei

String

Alle

Angir teksten som vises som et verktøytips når du holder musepekeren over kontrollen.

TripleState

Nei

Boolean

CheckBox

Spesifiserer om avmerkingsboksen kan vises nedtonet (grået) eller ikke.

URL

Nei

String

Hyperlink

URL-en som skal åpnes når kontrollen klikkes.

Value

Nei

Variant

Se Verdi-egenskap

Visible

Nei

Boolean

Alle

Angir om kontrollen er skjult eller synlig.

XControlModel

Ja

UNO
objekt

Alle

UNO-objektet som representerer kontrollmodellen. Se XControlModel og UnoControlDialogModel i Application Programming Interface (API) informasjonsdokumentasjon for detaljert dokumentasjon

XControlView

Ja

UNO
objekt

Alle

UNO-objektet som representerer kontrollvisningen. Se XControl og UnoControlDialog i Application Programming Interface (API) dokumentasjon for detaljert informasjon.

XTreeDataModel

Ja

UNO
objekt

TreeControl

UNO-objektet som representerer trekontrolldatamodellen. Se XMutableTreeDataModeli Application Programming Interface (API) for detaljert informasjon.


Verdi-egenskapen

Kontrolltype

Type

Beskrivelse

Button

Boolean

Kun for veksleknapper

CheckBox

Boolsk eller heltall

0, usant: ikke merket
1, sant: merket
2: grått, vet ikke

ComboBox

String

Den valgte verdien. Egenskapen ListIndex er et alternativt alternativ.

CurrencyField

Numerisk

DateField

Date

FileControl

String

Et filnavn formatert i samsvar med egenskapen FileName til ScriptForge.FileSystem-tjenesten

FormattedField

Streng eller numerisk

ListBox

Strenger eller en matrise med strenger

De(n) valgte raden(e) som en skalar eller som en matrise avhengig av MultiSelect-attributtet

NumericField

Numerisk

PatternField

String

ProgressBar

Numerisk

Må være innenfor de forhåndsdefinerte grensene

RadioButton

Boolean

Hver knapp har sitt eget navn. De er knyttet sammen hvis TAB-posisjonene deres er sammenhengende. Hvis en radioknapp er satt til True, settes de andre relaterte knappene automatisk til Usann

ScrollBar

Numerisk

Må være innenfor de forhåndsdefinerte grensene

TableControl

Array

Endimensjonal matrise med dataene for den valgte raden.

TextField

String

Teksten som vises i feltet

TimeField

Date


note

Det er ingen Value-egenskap for GroupBox, Hyperlink, ImageControl og TreeControl dialogkontroller .


Hendelsesegenskaper

On… egenskaper returnerer en URI-streng med referansen til skriptet som utløses av hendelsen. On… egenskaper kan settes programmatisk.
Les spesifikasjonen i skriptrammeverket URI-spesifikasjon.

Navn

Skrivebeskyttet

Beskrivelse som merket i Basic IDE

OnActionPerformed

Ja

Utfør handling

OnAdjustmentValueChanged

Ja

Mens du justerer

OnFocusGained

Ja

Når du mottar fokus

OnFocusLost

Ja

Når man mister fokus

OnItemStateChanged

Ja

Varestatus endret

OnKeyPressed

Ja

Tast trykket

OnKeyReleased

Ja

Tasten er sluppet

OnMouseDragged

Ja

Musen beveget seg mens tasten trykkes

OnMouseEntered

Ja

Mus på innsiden

OnMouseExited

Ja

Mus på utsiden

OnMouseMoved

Ja

Mus beveges

OnMousePressed

Ja

Museknapp trykket

OnMouseReleased

Ja

Museknappen slippes

OnNodeExpanded

Nei

(Ikke i Basic IDE) når utvidelsesknappen trykkes på en node i en trekontroll

OnNodeSelected

Nei

(Ikke i Basic IDE) når en node i en trekontroll er valgt

OnTextChanged

Ja

Tekst endret


warning

Tilordning av hendelser via Basic IDE og tilordning av hendelser via makroer utelukker hverandre.


Metoder

Liste over metoder i DialogControl-tjenesten

AddSubNode
AddSubTree
CreateRoot

FindNode
Resize
SetFocus

SetTableData
WriteLine


AddSubNode

Opprett og returner en ny node av trekontrollen som et UNO-objekt underordnet en overordnet node. Se >XMutableNodeMutelink i Application Programming Interface (API) dokumentasjon for detaljert informasjon.

Denne metoden kan kalles før du viser dialogboksen for å bygge det første treet. Den kan også kalles opp fra en dialog- eller kontrollhendelse - ved å bruke OnNodeExpanded-hendelsen - for å fullføre treet dynamisk.

Syntaks:

svc.AddSubNode(parentnode: uno, displayvalue: str, opt datavalue: any): uno

Parametre:

parentnode: Et node UNO-objekt, av typen com.sun.star.awt.tree.XMutableTreeNode.

displayvalue: Teksten som vises i trekontrollboksen.

dataverdi: Enhver verdi knyttet til den nye noden. dataverdi kan være en streng, et tall eller en dato. Utelat argumentet når det ikke er aktuelt.

Eksempel:

LibreOffice Basic- og Python-eksempler henter gjeldende dokuments myDialog-dialog fra Standard-biblioteket.

I Basic

      Dim oDlg As Object, myTree As Object, myNode As Object, theRoot As Object
      Set oDlg = CreateScriptService("Dialog",,, "myDialog")
      Set myTree = oDlg.Controls("myTreeControl")
      Set theRoot = myTree.CreateRoot("Tree top")
      Set myNode = myTree.AddSubNode(theRoot, "A branch ...")
   
I Python

     dlg = CreateScriptService('SFDialogs.Dialog', None, None, 'myDialog')
     tree = dlg.Controls('myTreeControl')
     root = tree.CreateRoot('Tree top')
     node = tree.AddSubNode(root, 'A branch ...')
   

AddSubTree

Returner True når et undertre, underordnet en overordnet node, kunne settes inn i en trekontroll. Hvis den overordnede noden allerede hadde undernoder før denne metoden ble kalt, slettes undernodene.

Denne metoden kan kalles før du viser dialogboksen for å bygge det første treet. Den kan også kalles opp fra en dialog- eller kontrollhendelse - ved å bruke OnNodeExpanded-hendelsen - for å fullføre treet dynamisk.

Syntaks:

svc.AddSubTree(parentnode: uno, flattree: any, opt withdatavalue: bool): bool

Parametre:

parentnode: Et node UNO-objekt, av typen com.sun.star.awt.tree.XMutableTreeNode.

flattree: en todimensjonal matrise sortert på kolonnene som inneholder visningsverdiene. En slik matrise kan utstedes med GetRows-metoden brukt på SFDatabases.Database-tjenesten. Når et matriseelement som inneholder teksten som skal vises er Empty eller Null, opprettes ingen ny subnode og resten av raden hoppes over.


      Flatt tre >>>> Resulterende undertre
      A1	B1	C1             |__   A1	
      A1	B1	C2                   |__   B1
      A1	B2	C3                         |__  C1
      A2	B3	C4                         |__  C2
      A2	B3	C5                   |__   B2
      A3	B4	C6                         |__  C3
                             |__   A2
                                   |__   B3
                                         |__  C4
                                         |__  C5
                             |__   A3
                                   |__   B4
                                         |__  C6
   

withdatavalue: Når False standardverdi brukes, inneholder hver kolonne i flattree teksten som skal vises i trekontrollen. Når True, er tekstene som skal vises (displayvalue) i kolonnene 0, 2, 4, ... mens dataverdiene (datavalue ) er i kolonne 1, 3, 5, ...

Eksempel:

I Basic

      Dim myTree As Object, theRoot As Object, oDb As Object, vData As Variant
      Set myTree = myDialog.Controls("myTreeControl")
      Set theRoot = myTree.CreateRoot("By product category")
      Set oDb = CreateScriptService("SFDatabases.Database", "/home/.../mydatabase.odb")
      vData = oDb.GetRows("SELECT [Category].[Name], [Category].[ID], [Product].[Name], [Product].[ID] " _
          & "FROM [Category], [Product] WHERE [Product].[CategoryID] = [Category].[ID] " _
          & "ORDER BY [Category].[Name], [Product].[Name]")
      myTree.AddSubTree(theRoot, vData, WithDataValue := True)
   
I Python

     SQL_STMT = "SELECT [Category].[Name], [Category].[ID], [Product].[Name], [Product].[ID] \
         FROM [Category], [Product] WHERE [Product].[CategoryID] = [Category].[ID] \
         ORDER BY [Category].[Name], [Product].[Name]"
     tree = dlg.Controls('myTreeControl')
     root = tree.CreateRoot('By Product category')
     db = CreateScriptService('SFDatabases.Database', '/home/.../mydatabase.odb')
     sub_tree = db.GetRows(SQL_STMT)
     tree.AddSubTree(root, sub_tree, withdatavalue=True)
   

CreateRoot

Returnerer en ny rotnode for trekontrollen, som et node UNO-objekt av typen com.sun.star.awt.tree.XMutableTreeNode. Den nye treroten settes inn under allerede eksisterende rotnoder. Se >XMutableNodeMutelink i Application Programming Interface (API) dokumentasjon for detaljert informasjon.

Denne metoden kan kalles før du viser dialogboksen for å bygge det første treet. Den kan også kalles opp fra en dialogboks eller kontrollhendelse for å fullføre treet dynamisk.

Syntaks:

svc.CreateRoot(displayvalue: str, opt datavalue: any): uno

Parametre:

displayvalue: Teksten som vises i trekontrollboksen.

dataverdi: Enhver verdi knyttet til den nye noden. dataverdi kan være en streng, et tall eller en dato. Utelat argumentet når det ikke er aktuelt.

Eksempel:

I Basic

      Dim myTree As Object, myNode As Object
      Set myTree = myDialog.Controls("myTreeControl")
      Set myNode = myTree.CreateRoot("Tree starts here ...")
   
I Python

     tree = dlg.Controls('myTreeControl')
     node = tree.CreateRoot('Tree starts here ...')
   

FindNode

Traverserer treet og finner rekursivt, med utgangspunkt i roten, en node som oppfyller noen kriterier. Enten - 1 samsvar er nok - at visningsverdien samsvarer med displayvalue-mønsteret eller har dataverdien lik datavalue. Sammenligningene kan være eller ikke skille mellom store og små bokstaver. Den første samsvarende forekomsten returneres som et node UNO-objekt av typen com.sun.star.awt.tree.XMutableTreeNode. Se >XMutableNodeMutelink i Application Programming Interface (API) dokumentasjon for detaljert informasjon.

Når den ikke blir funnet, returnerer metoden Ingenting, for å bli testet med den innebygde funksjonen IsNull().

Denne metoden kan kalles før du viser dialogboksen for å bygge det første treet. Det kan også kalles opp fra en dialogboks eller kontrollhendelse.

Syntaks:

svc.FindNode(displayvalue: str = '', opt datavalue: any, casesensitive = False): uno

Parametre:

Ett argument av displayvalue eller datavalue må spesifiseres. Hvis begge er tilstede, er ett samsvar tilstrekkelig for å velge noden.

displayvalue: Mønsteret som skal matches. Se SF_String.IsLike() metode for listen over mulige jokertegn. Når lik null-lengdestrengen (standard), søkes det ikke etter denne visningsverdien.

dataverdi: Enhver verdi knyttet til den nye noden. dataverdi kan være en streng, et tall eller en dato. Utelat argumentet når det ikke er aktuelt.

skiller mellom store og små bokstaver: Standardverdien er Usann

Eksempel:

I Basic

      Dim myTree As Object, myNode As Object
      Set myTree = myDialog.Controls("myTreeControl")
      Set myNode = myTree.FindNode("*Sophie*", CaseSensitive := True)
   
I Python

     tree = dlg.Controls('myTreeControl')
     node = FindNode('*Sophie*', casesensitive=True)
     if node is None:
         # ...
   

Resize

Flytt øverste venstre hjørne av en dialogkontroll til nye koordinater og/eller endre dens dimensjoner. Returner Sann dersom endringen av størrelse var vellykket.

Syntaks:

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

Parametre:

Alle avstander er uttrykt i Kart AppFont-enheter og måles fra øverste venstre hjørne av den overordnede dialogboksen. Uten argumenter endrer metoden størrelsen på kontrollen til dens "foretrukket størrelse", en størrelse justert avhengig av dens faktiske innhold. Manglende argumenter forblir uendret.

Venstre: Den horisontale avstanden fra øverste venstre hjørne

Topp: Den vertikale avstanden fra øverste venstre hjørne

Bredde: den horisontale bredden til rektangelet som inneholder kontrollen

Høyde: den vertikale høyden på rektangelet som inneholder kontrollen

Eksempel:

I Basic

      Dim oControl As Object
      Set oDlg = CreateScriptService("SFDialogs.Dialog",,, "myDialog")
      Set oControl = oDlg.Controls("thisControl")
      oControl.Resize(100, 200, Height:=6000) ' Bredde er uendret
    
I Python

      dlg = CreateScriptService('Dialog', None, None, 'myDialog')
      ctrl = dlg.Controls('thisControl')
      ctrl.Resize(300, 200, 1500) # Høyden er uendret
    

SetFocus

Sett fokus på kontrollen. Returner Sann hvis fokuseringen var vellykket.

Denne metoden kalles ofte fra en dialog- eller kontrollhendelse.

Syntaks:

svc.SetFocus(): bool

Eksempel:

I Basic

      Dim oControl As Object
      Set oDlg = CreateScriptService("SFDialogs.Dialog",,, "myDialog")
      Set oControl = oDlg.Controls("thisControl")
      oControl.SetFocus()
    
I Python

      dlg = CreateScriptService('Dialog', None, None, 'myDialog')
      ctrl = dlg.Controls('thisControl')
      ctrl.SetFocus()
    

SetTableData

Fyller en TableControl med de gitte dataene. Alle eksisterende data tømmes før de nye dataene settes inn som argument.

Når TableControl legges til dialogen, er det mulig å bruke Basic IDE for å definere om kolonne- og radoverskrifter skal vises i tabellen. Hvis TableControl har kolonne- og/eller radoverskrifter, brukes den første kolonnen og/eller raden i den angitte datamatrisen som etiketter for tabelloverskriftene.

Denne metoden returnerer Sann når den er vellykket.

Syntaks:

svc.SetTableData(dataarray: any[0..*, 0..*], widths: int[0..*], alignments: str, RowHeaderWidth = 10): bool

Parametre:

dataarray: Data som skal legges inn i tabellen representert som en Array of Arrays i Basic eller en tuppel av tuples i Python. Dataene må inkludere kolonne- og radoverskrifter hvis de skal vises av TableControl.

bredder: Matrise som inneholder de relative breddene til hver kolonne. Med andre ord betyr bredder = (1, 2) at den andre kolonnen er dobbelt så bred som den første. Hvis antallet verdier i matrisen er mindre enn antall kolonner i tabellen, brukes den siste verdien i matrisen til å definere bredden på de gjenværende kolonnene.

justeringer: Definerer justeringen i hver kolonne som en streng der hvert tegn kan være "L" (venstre), "C" (senter), "R" (høyre) eller " " (mellomrom, standard, som betyr venstre for strenger og høyre for numeriske verdier). Hvis lengden på strengen er kortere enn antall kolonner i tabellen, brukes det siste tegnet i strengen til å definere justeringen av de gjenværende kolonnene.

RowHeaderWidth: bredden på radoverskriftskolonnen uttrykt i Kart AppFont-enheter. Standard = 10. Argumentet ignoreres når TableControl ikke har noen radoverskrift.

Eksempel:

I Basic

Følgende eksempel forutsetter at dialogboksen myDialog har en TableControl kalt Grid1 med egenskapene "Vis radoverskrift" og "Vis kolonneoverskrift" satt til " Ja".


     Dim myDialog As Object, oTable As Object, tableData As Variant
     myDialog = CreateScriptService("Dialog", "GlobalScope", "Standard", "myDialog")
     oTable = myDialog.Controls("Grid1")
     tableData = Array("Column A", "Column B", "Column C")
     tableData = SF_Array.AppendRow(tableData, Array("Row 1", 1, 2))
     tableData = SF_Array.AppendRow(tableData, Array("Row 2", 3, 4))
     tableData = SF_Array.AppendRow(tableData, Array("Row 3", 5, 6))
     vAlignments = "LCC"
     vWidths = Array(2, 1, 1)
     oTable.SetTableData(tableData, vWidths, vAlignments)
     myDialog.Execute()
   

Egenskapen Verdi returnerer den valgte raden i tabellen. Hvis ingen rad er valgt, returneres et tomt Array-objekt. Følgende kodebit viser hvordan du tester om en rad er valgt i tabellen.


     rowValues = oTable.Value
     If UBound(rowValues) < 0 Then
         MsgBox "Ingen rad er valgt."
     Else
         MsgBox "Row " & oTable.ListIndex & " er valgt."
     End If
   
I Python

     dlg = CreateScriptService("Dialog", "GlobalScope", "Standard", "myDialog")
     table_control = dlg.Controls("Grid1")
     table_data = (("Column A", "Column B", "Column C"),
                   ("Row 1", 1, 2),
                   ("Row 2", 3, 4),
                   ("Row 3", 5, 6))
     alignments = "LCC"
     widths = (100, 50, 50)
     table_control.SetTableData(table_data, widths, alignments)
     dlg.Execute()
   

     bas = CreateScriptService("Basic")
     row_values = table_control.Value
     if len(row_values) == 0:
         bas.MsgBox("No row selected.")
     else:
         bas.MsgBox(f"Row {table_control.ListIndex} is selected.")
   

WriteLine

Legg til en ny linje på slutten av et tekstfelt med flere linjer. Et nylinjetegn vil bli satt inn når det passer. Metoden returnerer True når den er vellykket.

En feil oppstår hvis den faktiske kontrollen ikke er av typen TextField eller ikke er flerlinjet.

Syntaks:

svc.WriteLine(opt line: str): bool

Parametre:

Linje: strengen som skal settes inn. Standard er en tom linje.

Eksempel:

I Basic

      Dim oDlg As Object, oControl As Object
      Set oDlg = CreateScriptService("SFDialogs.Dialog",,, "myDialog")
      Set oControl = oDlg.Controls("thisControl")
      oControl.WriteLine("a new line")
   
I Python

     dlg = CreateScriptService('SFDialogs.Dialog', None, None, 'myDialog')
     ctrl = dlg.Controls('thisControl')
     ctr.WriteLine("a new line")
   
warning

Alle ScriptForge Grunnleggende rutiner eller identifikatorer som er prefikset med et understrekingstegn "_" er reservert for intern bruk. De er ikke ment å brukes i grunnleggende makroer eller Python-skript.


Supporter oss!