SFDialogs.DialogControl service

Inhoud
Index 🔎︎

# service SFDialogs.DialogControl

De service DialogControl beheert de bedieningselementen die horen bij een dialoogvenster dat is gedefinieerd met de Basic Dialog Editor. Elk exemplaar van de huidige service vertegenwoordigt een enkel besturingselement in een dialoogvenster.

De focus ligt op het verkrijgen en instellen van de waarden die worden weergegeven door de bedieningselementen van het dialoogvenster. Opmaak is toegankelijk via de eigenschappen XControlModel en XControlView.

Merk op dat de unieke inhoud van de eigenschap DialogControl.Value varieert afhankelijk van het type besturingselement.

Speciale aandacht wordt besteed aan besturingen van het type boombesturing. Het is gemakkelijk om een boom te bevolken, tak voor tak, of met een set takken tegelijk. Het vullen van een boombesturing kan statisch of dynamisch worden uitgevoerd.

De service SFDialogs.DialogControl is nauw verwant aan de SFDialogs.Dialog-service.

## Service aanroep

Voordat de service DialogControl gebruikt kan worden, moet de bibliotheek ScriptForge eerst worden geladen of geïmporteerd:

• Basic macro's kunnen de bibliotheek ScriptForge laden met de instructie:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python scripts kunnen de module scriptforge importeren met:
from scriptforge import CreateScriptService

De service DialogControl wordt aangeroepen vanuit een bestaande instantie van de service Dialog via de methode Controls(). Het dialoogvenster moet worden gestart met de service SFDialogs.Dialog.

          Dim myDialog As Object, myControl As Object
          Set myDialog = CreateScriptService("SFDialogs.Dialog", "GlobalScope", myLibrary, DialogName)
          Set myControl = myDialog.Controls("myTextBox")
          myControl.Value = "Dialog started at " & Now()
          myDialog.Execute()
          ' ... de werkelijke waarden van de besturing verwerken
          myDialog.Terminate()

         from time import localtime, strftime
         dlg = CreateScriptService('SFDialogs.Dialog', 'GlobalScope', lib_name, dlg_name)
         text = dlg.Controls('myTextBox')
         text.Value = "Dialog started at " + strftime("%a, %d %b %Y %H:%M:%S", localtime())
         dlg.Execute()
         # ... de werkelijke waarden van de besturing verwerken
         dlg.Terminate()

Als alternatief kan een controle-instantie worden opgehaald via de service SFDialogs.DialogEvent, op voorwaarde dat het dialoogvenster is gestart met de service Dialog. DialogEvent retourneert de klasse-instantie SFDialogs.DialogControl die de gebeurtenis heeft geactiveerd.

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

         def some_event(event: uno):
             ctrl = CreateScriptService('SFDialogs.DialogEvent', event)
             # ...

Merk op dat in eerdere voorbeelden het voorvoegsel "SFDialogs." kan worden weggelaten.

## Besturingstypen

De service DialogControl is beschikbaar voor deze besturingstypen:

- Button

- CheckBox

- ComboBox

- CurrencyField

- DateField

- FileControl

- FixedLine

- FixedText

- FormattedField

- GroupBox

- ImageControl

- ListBox

- NumericField

- PatternField

- ProgressBar

- RadioButton

- ScrollBar

- TableControl

- TextField

- TimeField

- TreeControl

## Eigenschappen

Naam | AlleenLezen | Type | Toepasbaar op | Beschrijving
--- | --- | --- | --- | ---
Cancel | Nee | Boolean | Button | Geeft aan of een opdrachtknop het gedrag van een knop Annuleren heeft of niet.
Caption | Nee | String | Button, CheckBox, FixedLine, FixedText, GroupBox, RadioButton | Specificeert de tekst die bij het besturingselement hoort.
ControlType | Ja | String | Alle | Een van de hierboven genoemde soorten.
CurrentNode | Nee | UNO -object | TreeControl | Het momenteel bovenste knooppunt dat is geselecteerd in de boomstructuur. Raadpleeg XmutableTreeNode in de Application Programming Interface (API)-documentatie voor gedetailleerde informatie.
Default | Nee | Boolean | Button | Geeft aan of een opdrachtknop de standaardknop (OK) is.
Enabled | Nee | Boolean | Alle | Geeft aan of het besturingselement toegankelijk is met de cursor.
Format | Nee | String | DateField, TimeField, FormattedField (alleen-lezen) | Specificeert de opmaak dat wordt gebruikt om datums en tijden weer te geven. Het moet een van deze tekenreeksen zijn: Voor datums: "Standard (short)", "Standard (short YY)", "Standard (short YYYY)", "Standard (long)", "DD/MM/YY", "MM/DD/YY", "YY/MM/DD", "DD/MM/YYYY", "MM/DD/YYYY" , "YYYY/MM/DD", "YY-MM-DD", "YYYY-MM-DD". Voor tijden: "24h short", "24h long", "12h short", "12h long".
ListCount | Ja | Long | ComboBox, ListBox, TableControl | Specificeert het aantal rijen in een Keuzelijst, een Keuzelijst met invoerveld of een Tabelbesturing.
ListIndex | Nee | Long | ComboBox, ListBox, TableControl | Specificeert welk item is geselecteerd in een Keuzelijst, een Keuzelijst met invoerveld of een Tabelbesturing.
Locked | Nee | Boolean | ComboBox, CurrencyField, DateField, FileControl, FormattedField, ListBox, NumericField, PatternField, TextField, TimeField | Geeft aan of het besturingselement alleen-lezen is.
MultiSelect | Nee | Boolean | ListBox | Geeft aan of een gebruiker meerdere selecties kan maken in een keuzelijst.
Name | Ja | String | Alle | De naam van het besturingselement.
Page | Nee | Integer | Alle | Een dialoog kan meerdere bladen hebben die stap voor stap door de gebruiker kunnen worden doorlopen. De eigenschap Page van het Dialog-object definieert welke pagina van het dialoogvenster actief is. De eigenschap Page van een besturingselement definieert de pagina van het dialoogvenster waarop het besturingselement zichtbaar is.
Parent | Ja | service Dialog | Alle | De bovenliggende SFDialogs.Dialog klasseobjectinstantie.
Picture | Nee | String | Button, ImageControl | Specificeert de bestandsnaam die een bitmap of ander type afbeelding bevat die moet worden weergegeven op het opgegeven besturingselement. De bestandsnaam moet voldoen aan het kenmerk FileNaming van de service ScriptForge.FileSystem.
RootNode | Ja | UNO -object | TreeControl | Een object dat het laagste wortelknooppunt vertegenwoordigt (meestal is er maar één zo'n wortelknooppunt). Raadpleeg XmutableTreeNode in de Application Programming Interface (API)-documentatie voor gedetailleerde informatie.
RowSource | Nee | Array of strings | ComboBox, ListBox | Specificeert de gegevens in een keuzelijst met invoervak of een keuzelijst.
Text | Ja | String | ComboBox, FileControl, FormattedField, PatternField, TextField | Geeft toegang tot de tekst die door het besturingselement wordt weergegeven.
TipText | Nee | String | Alle | Hiermee geeft u de tekst op die als knopinfo wordt weergegeven wanneer u de muisaanwijzer boven het besturingselement houdt.
TripleState | Nee | Boolean | CheckBox | Geeft aan of het keuzevakje gedimd (grijs) kan worden weergegeven of niet.
Value | Nee | Variant |  | Raadpleeg Waarde-eigenschap
Visible | Nee | Boolean | Alle | Geeft aan of het besturingselement verborgen of zichtbaar is.
XControlModel | Ja | UNO -object | Alle | Het UNO-object dat het besturingsmodel vertegenwoordigt. Raadpleeg XControlModel en UnoControlDialogModel in de Application Programming Interface (API)-documentatie voor gedetailleerde informatie.
XControlView | Ja | UNO -object | Alle | Het UNO-object dat de controleweergave vertegenwoordigt. Raadpleeg XControl en UnoControlDialog in de Application Programming Interface (API)-documentatie voor gedetailleerde informatie.
XTreeDataModel | Ja | UNO -object | TreeControl | Het UNO-object dat het boombesturingsgegevensmodel vertegenwoordigt. Raadpleeg XMutableTreeDataModel in de Application Programming Interface (API)-documentatie voor gedetailleerde informatie.

## De Waarde-eigenschap

Type besturingselement | Type | Beschrijving
--- | --- | ---
Button | Boolean | Alleen voor aan/uit knoppen
CheckBox | Booleaans of geheel getal | 0, False: niet aangevinkt 1, True: aangevinkt 2: uitgegrijsd, weet niet
ComboBox | String | De geselecteerde aardwachter. De karakteristieke ListIndex is een alternatieve optie.
CurrencyField | Numeriek |
DateField | Date |
FileControl | String | Een bestandsnaam die is opgemaakt in overeenstemming met de eigenschap FileNaming van de service ScriptForge.FileSystem
FormattedField | Tekenreeks of numeriek |
ListBox | Tekenreeks of matrix van tekenreeksen | De geselecteerde rij(en) als scalair of als matrix, afhankelijk van de attribuut MultiSelect
NumericField | Numeriek |
PatternField | String |
ProgressBar | Numeriek | Moet binnen de vooraf gedefinieerde grenzen vallen
RadioButton | Boolean | Elke knop heeft zijn eigen naam. Ze zijn aan elkaar gekoppeld als hun TAB-posities aaneengesloten zijn. Als een keuzerondje is ingesteld op True, worden de andere gerelateerde knoppen automatisch ingesteld op False
ScrollBar | Numeriek | Moet binnen de vooraf gedefinieerde grenzen vallen
TableControl | Array | Eendimensionale matrix met de gegevens van de momenteel geselecteerde rij.
TextField | String | De tekst die in het veld verschijnt
TimeField | Date |

## Eigenschappen gebeurtenis

Retourneert een URI-tekenreeks met de verwijzing naar het script dat door de gebeurtenis is geactiveerd. Lees de specificatie ervan in de scripting framework URI-specificatie.

Naam | AlleenLezen | Beschrijving zoals aangegeven in de Basic IDE
--- | --- | ---
OnActionPerformed | Ja | Actie uitvoeren
OnAdjustmentValueChanged | Ja | Tijdens aanpassen
OnFocusGained | Ja | Bij het verkrijgen van focus
OnFocusLost | Ja | Bij het verliezen van focus
OnItemStateChanged | Ja | Itemstatus gewijzigd
OnKeyPressed | Ja | Toets ingedrukt
OnKeyReleased | Ja | Toets losgelaten
OnMouseDragged | Ja | Muis bewogen tijdens toetsaanslagen
OnMouseEntered | Ja | Muis binnen
OnMouseExited | Ja | Muis buiten
OnMouseMoved | Ja | Muis bewogen
OnMousePressed | Ja | Muisknop ingedrukt
OnMouseReleased | Ja | Muisknop losgelaten
OnNodeExpanded | Nee | (Niet in Basic IDE) wanneer de uitbreidingsknop wordt ingedrukt op een knooppunt in een boomstructuur
OnNodeSelected | Nee | (Niet in Basic IDE) wanneer een knooppunt in een boomstructuur is geselecteerd
OnTextChanged | Ja | Tekst aangepast

## Methoden

Lijst met methoden in de service DialogControl
AddSubNode AddSubTree CreateRoot | FindNode SetFocus | SetTableData WriteLine

## AddSubNode

Maak en retourneer een nieuw knooppunt van de boomstructuur als een UNO-object dat ondergeschikt is aan een bovenliggend knooppunt. Raadpleeg XMutableTreeNode in de Application Programming Interface (API)-documentatie voor gedetailleerde informatie.

Deze methode kan worden aangeroepen voordat het dialoogvenster wordt weergegeven om de initiële boomstructuur te bouwen. Het kan ook worden aangeroepen vanuit een dialoog of controlegebeurtenis - met behulp van de gebeurtenis OnNodeExpanded - om de boom dynamisch te voltooien.

### Syntaxis:

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

### Parameters:

parentnode: Een knooppunt UNO-object, van het type com.sun.star.awt.tree.XMutableTreeNode.

displayvalue: De tekst die in de boomstructuur verschijnt.

datavalue: Elke waarde die is gekoppeld aan het nieuwe knooppunt. datavalue kan een tekenreeks, een getal of een datum zijn. Laat het argument weg als het niet van toepassing is.

### Voorbeeld:

LibreOffice Basic- en Python-voorbeelden halen het dialoogvenster myDialog van het huidige document uit de bibliotheek Standard.

##### In 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 ...")

##### In Python

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

## AddSubTree

Retourneert True wanneer een subboom, ondergeschikt aan een bovenliggend knooppunt, met succes in een boomstructuur kon worden ingevoegd. Als het bovenliggende knooppunt al onderliggende knooppunten had voordat deze methode werd aangeroepen, worden de onderliggende knooppunten gewist.

Deze methode kan worden aangeroepen voordat het dialoogvenster wordt weergegeven om de initiële boomstructuur te bouwen. Het kan ook worden aangeroepen vanuit een dialoog of controlegebeurtenis - met behulp van de gebeurtenis OnNodeExpanded - om de boom dynamisch te voltooien.

### Syntaxis:

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

### Parameters:

parentnode: Een knooppunt UNO-object, van het type com.sun.star.awt.tree.XMutableTreeNode.

flattree: een tweedimensionale matrix gesorteerd op de kolommen die de weergegeven waarden bevatten. Een dergelijke matrix kan worden uitgegeven door de methode GetRows die wordt toegepast op de service SFDatabases.Database. Als een matrix-item dat de tekst bevat die moet worden weergegeven, Empty of Null is, wordt er geen nieuwe subnode gemaakt en wordt de rest van de rij overgeslagen.

          Flat tree    >>>>    Resulterende subboom
          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: Als de standaardwaarde False wordt gebruikt, bevat elke kolom van flattree de tekst die moet worden weergegeven in de boomstructuur. Wanneer True, staan de teksten die moeten worden weergegeven (displayvalue) in kolommen 0, 2, 4, ... terwijl de gegevenswaarden (datavalue) staan in kolommen 1, 3, 5, ...

### Voorbeeld:

##### In 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)

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

Retourneert een nieuw hoofdknooppunt van het boombesturingselement, als een knooppunt UNO-object van het type com.sun.star.awt.tree.XMutableTreeNode. De nieuwe boomwortel wordt ingevoegd onder reeds bestaande wortelknooppunten. Raadpleeg XMutableTreeNode in de Application Programming Interface (API)-documentatie voor gedetailleerde informatie.

Deze methode kan worden aangeroepen voordat het dialoogvenster wordt weergegeven om de initiële boomstructuur te bouwen. Het kan ook worden aangeroepen vanuit een dialoogvenser of besturingsgebeurtenis om de boom dynamisch te voltooien.

### Syntaxis:

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

### Parameters:

displayvalue: De tekst die in de boomstructuur verschijnt.

datavalue: Elke waarde die is gekoppeld aan het nieuwe knooppunt. datavalue kan een tekenreeks, een getal of een datum zijn. Laat het argument weg als het niet van toepassing is.

### Voorbeeld:

##### In BASIC

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

##### In Python

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

## FindNode

Doorloopt de boom en vindt recursief, beginnend bij de wortel, een knoop die aan een aantal criteria voldoet. Ofwel - 1 overeenkomst is genoeg - waarbij de weergavewaarde overeenkomt met het patroon displayvalue of de gegevenswaarde gelijk is aan datavalue. De vergelijkingen kunnen al dan niet hoofdlettergevoelig zijn. Het eerste overeenkomende exemplaar wordt geretourneerd als een knooppunt UNO-object van het type com.sun.star.awt.tree.XMutableTreeNode. Raadpleeg XMutableTreeNode in de Application Programming Interface (API)-documentatie voor gedetailleerde informatie.

Indien niet gevonden, retourneert de methode Nothing, om te testen met de ingebouwde functie IsNull().

Deze methode kan worden aangeroepen voordat het dialoogvenster wordt weergegeven om de initiële boomstructuur te bouwen. Het kan ook worden aangeroepen vanuit een dialoog of besturingsgebeurtenis.

### Syntaxis:

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

### Parameters:

Eén argument uit displayvalue of datavalue moet worden opgegeven. Als beide aanwezig zijn, is één overeenkomst voldoende om het knooppunt te selecteren.

displayvalue: het patroon waaraan moet worden gekoppeld. Raadpleeg de SF_String.IsLike() methode voor de lijst met mogelijke jokertekens. Als deze gelijk is aan de tekenreeks met lengte nul (standaard), wordt er niet naar deze weergavewaarde gezocht.

datavalue: Elke waarde die is gekoppeld aan het nieuwe knooppunt. datavalue kan een tekenreeks, een getal of een datum zijn. Laat het argument weg als het niet van toepassing is.

Hoofdlettergevoelig : Standaardwaarde is False

### Voorbeeld:

##### In BASIC

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

##### In Python

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

## SetFocus

Stel de focus op de besturing. Retourneer True als het scherpstellen gelukt is.

Deze methode wordt vaak aangeroepen vanuit een dialoog of controlegebeurtenis.

### Syntaxis:

svc.SetFocus(): bool

### Voorbeeld:

##### In BASIC

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

##### In Python

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

## SetTableData

Vult een TableControl met de gegeven gegevens. Alle reeds bestaande gegevens worden gewist voordat de nieuwe gegevens worden ingevoerd die als argument zijn doorgegeven.

Wanneer de TableControl aan het dialoogvenster is toegevoegd, is het mogelijk om de Basic IDE te gebruiken om te definiëren of kolom- en rijkoppen in de tabel worden weergegeven. Als de TableControl kolom- en/of rijkoppen heeft, worden de eerste kolom en/of rij in de verstrekte gegevensmatrix gebruikt als labels voor de tabelkoppen.

Deze methode retourneert True wanneer succesvol.

### Syntaxis:

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

### Parameters:

dataarray: Gegevens die in de tabel moeten worden ingevoerd, worden weergegeven als een matrix van marixen in Basic of een tupel van tupels in Python. De gegevens moeten kolom- en rijkoppen bevatten als ze moeten worden weergegeven door de TableControl.

widths: Matrix met de relatieve breedtes van elke kolom. Met andere woorden, widths = Array(1, 2) betekent dat de tweede kolom twee keer zo breed is als de eerste. Als het aantal waarden in de matrix kleiner is dan het aantal kolommen in de tabel, dan wordt de laatste waarde in de matrix gebruikt om de breedte van de resterende kolommen te definiëren.

alignments: Definieert de uitlijning in elke kolom als een tekenreeks waarin elk teken "L" (Links), "C" (Midden), "R" (Rechts) of " " kan zijn (witruimte, standaard, wat betekent dat links voor tekenreeksen en rechts voor numerieke waarden). Als de lengte van de tekenreeks korter is dan het aantal kolommen in de tabel, wordt het laatste teken in de tekenreeks gebruikt om de uitlijning van de resterende kolommen te definiëren.

### Voorbeeld:

##### In BASIC

In het volgende voorbeeld wordt ervan uitgegaan dat het dialoogvenster myDialog een TableControl heeft met de naam Grid1 met de eigenschappen "Rijkop weergeven" en "Kolomkop weergeven" ingesteld op "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()

De eigenschap Value retourneert de geselecteerde rij in de tabel. Als er geen rij is geselecteerd, wordt een leeg Matrix-object geretourneerd. Het volgende codefragment laat zien hoe u kunt testen of een rij in de tabel is geselecteerd.

         rowValues = oTable.Value
         If UBound(rowValues) < 0 Then
             MsgBox "Geen rij geselecteerd."
         Else
             MsgBox "Rij " & oTable.ListIndex & " is geselecteerd."
         End If

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

Voeg een nieuwe regel toe aan het einde van een tekstveld met meerdere regels. Waar nodig wordt een teken voor een nieuwe regel ingevoegd. De methode retourneert True wanneer succesvol.

Er treedt een fout op als het feitelijke besturingselement niet van het type TextField is of niet uit meerdere regels bestaat.

### Syntaxis:

svc.WriteLine(opt line: str): bool

### Parameters:

Line: De tekenreeks die moet worden ingevoegd. Standaard is een lege regel.

### Voorbeeld:

##### In BASIC

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

##### In Python

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

Alle ScriptForge Basic-routines of variabelen die beginnen met een underscore "_" zijn voor intern gebruik. Gebruik deze niet in een Basic of Python-macro.

Verwante onderwerpen

SFDialogs.Dialog-service

ScriptForge.String service

Service ScriptForge.UI