Besturingselementen voor dialoogvensters in detail

From Apache OpenOffice Wiki
< NL‎ | Documentation‎ | BASIC Guide
Revision as of 15:40, 10 February 2021 by DiGro (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Book.png


Apache OpenOffice BASIC herkent een bereik aan besturingselementen welke kunnen worden onderverdeeld in de volgende groepen:

Invoervelden Knoppen Keuzelijsten Anders
  • Schuifbalken (horizontaal en verticaal)
  • Groepsvakken
  • Voortgangsbalken
  • Scheidingslijnen (horizontaal en verticaal)
  • Afbeeldingen
  • Velden voor bestandsselectie

Knoppen

Een knop voert een actie uit als u er op klikt.

Het eenvoudigste scenario voor de knop is om een gebeurtenis Actie uitvoeren te activeren als er op wordt gedrukt door een gebruiker. U kunt ook andere acties aan de knop koppelen om een dialoogvenster te sluiten met behulp van de eigenschap PushButtonType. Als u klikt op een knop die deze eigenschap heeft ingesteld op de waarde 0, wordt het dialoogvenster niet beïnvloed. Als u klikt op een knop die deze eigenschap heeft ingesteld op de waarde 1, wordt het dialoogvenster gesloten en de methode Execute van het dialoogvenster geeft de waarde 1 terug (dialoogvenster reeks is correct beëindigd). Als PushButtonType de waarde 2 heeft, wordt het dialoogvenster gesloten en de methode Execute van het dialoogvenster geeft de waarde 0 terug (dialoogvenster gesloten). In de bewerker voor dialoogvensters worden de waarden voor de eigenschappen symbolisch weergegeven als Standaard (0), OK (1), Annuleren (2) en Help (3).

Het volgende zijn alle eigenschappen die beschikbaar zijn via het model van de knop:

Model.BackgroundColor (long)
kleur van de achtergrond
Model.DefaultButton (Boolean)
De knop wordt gebruikt als standaardwaarde en reageert op de Entertoets indien hij niet de focus heeft
Model.FontDescriptor (struct)
structuur die de details van het lettertype dat moet worden gebruikt specificeert (overeenkomend met de structuur van com.sun.star.awt.FontDescriptor)
Model.Label (String)
label dat wordt weergegeven op de knop
Model.Printable (Boolean)
het besturingselement kan worden afgedrukt
Model.TextColor (Long)
tekstkleur van het besturingselement
Model.HelpText (String)
Helptekst die wordt weergegeven wanneer u de muisaanwijzer over het besturingselement beweegt
Model.HelpURL (String)
URL van de online Help voor het overeenkomende besturingselement
PushButtonType (short)
actie die is gekoppeld aan aan de knop (0: geen actie, 1: OK, 2: Annuleren, 3: Help)

Voorbeeld

Het volgende voorbeeld laat enkele eigenschappen voor de knoppen zien:

 Sub cmdButton()
 Dim oDialog As Object Dim ocmdButton As Object
      DialogLibraries.LoadLibrary( "Standard" )
     oDialog = CreateUnoDialog( DialogLibraries.Standard.getByName("myDialog") )
      ocmdButton = oDialog.getControl("cmdOK")
     With ocmdButton.getModel
         .Align = 1                'Oriëntatie; 0 = links, 1 = midden, 2 = rechts
         .FontHeight = 12            'Grootte
         .FontName = "FreeSans"        'Lettertype
         .ImageURL = ConvertToUrl("/home/mau/bien.jpg")    'Weer te geven afbeelding
         .ImagePosition = 1        'Positie 1 = midden rechts
         .PushButtonType = 1        'Type knop 1 = Accepteren
     End With
 
     ocmdButton = oDialog.getControl("cmdCancel")
     With ocmdButton.getModel
         .Align = 1
         .FontHeight = 12
         .FontName = "FreeSans"
         .ImageURL = ConvertToUrl("/home/mau/mal.jpg")
         .ImagePosition = 1
         .PushButtonType = 2        'Type knop 2 = Annuleren
     End With
 
     oDialog.execute()
     oDialog.dispose()
 
End Sub

Keuzevakken

Keuzevakken worden gebruikt om een waarde Ja of Nee vast te leggen en, afhankelijk van de modus, kunnen zij twee of drie statussen aannemen. In aanvulling op de statussen Ja en Nee, kan een keuzevak een status tussenin hebben als de corresponderende status Ja of Nee meer dan één betekenis heeft of niet helder is.

Keuzevakken verschaffen de volgende eigenschappen:

State (Short)
status van het keuzevak (0: nee, 1: ja, 2: status tussenin)
Label (String)
label voor het besturingselement
enableTriState (Boolean)
in aanvulling op de statussen geactiveerd en niet-geactiveerd, kunt u ook de status tussenin gebruiken

Het modelobject van een keuzevak verschaft de volgende eigenschappen:

Model.FontDescriptor (struct)
structuur met details van het gebruikte lettertype (overeenkomstig de structuur com.sun.star.awt.FontDescriptor)
Model.Label (String)
label voor het besturingselement
Model.Printable (Boolean)
het besturingselement kan worden afgedrukt
Model.State (Short)
status van het keuzevak (0: nee, 1: ja, 2: status tussenin)
Model.Tabstop (Boolean)
het besturingselement kan worden bereikt met de toets  Tab ⇆ 
Model.TextColor (Long)
tekstkleur van het besturingselement
Model.HelpText (String)
Help-tekst die wordt weergegeven als u de muisaanwijzer op het besturingselement plaatst
Model.HelpURL (String)
URL van de online Help voor het overeenkomstige besturingselement

Voorbeeld

Het volgende voorbeeld geeft enkele van de eigenschappen voor keuzevakken weer:

Sub Keuzevak1()
 Dim oDialog As Object
 Dim oControl As Object
 
DialogLibraries.LoadLibrary( "Standard" )
     oDialog = CreateUnoDialog( DialogLibraries.Standard.getByName("MyDialog") )      'Besturingselement Afbeelding
     oControl = oDialog.getControl("icFoto")     'we verbergen het
     oControl.Visible = False      'Keuzevak
     oControl = oDialog.getControl("chkImprimir")
      With oControl.getModel
         .TriState = True        'Drievoudige status
     End With
 
oDialog.execute()
oDialog.dispose()
 
End Sub

Radioknoppen

Deze knoppen worden in het algemeen in groepen gebruikt en stellen u in staat één of meerdere opties te selecteren. Als u een optie selecteert, worden alle andere opties in de groep gedeactiveerd. Dit zorgt er ten alle tijde voor dat slechts één optie is ingesteld.

Een besturingselement radioknop verschaft twee eigenschappen:

State (Boolean)
activeert de knop
Label (String)
label dat wordt weergegeven naast de knop

U kunt ook de volgende eigenschappen gebruiken van het model van de radioknoppen:

Model.FontDescriptor (struct)
structuur met details van het lettertype dat moet worden gebruikt (overeenkomend met com.sun.star.awt.FontDescriptor)
Model.Label (String)
label dat wordt weergegeven op het besturingselement
Model.Printable (Boolean)
besturingselement kan worden afgedrukt
Model.State (Short)
als deze eigenschap gelijk is aan 1 wordt de optie geactiveerd, anders wordt hij gedeactiveerd
Model.TextColor (Long)
tekstkleur van het besturingselement
Model.HelpText (String)
Helptekst die wordt weergegeven als de muisaanwijzer boven het besturingselement staat
Model.HelpURL (String)
URL van de online Help voor het overeenkomende besturingselement

U moet ze één voor één in de reeks van activering opgeven zonder een gat er tussen (eigenschap Model.TabIndex, beschreven als Volgorde van activering in de dialoogvenster-editor) om verschillende radioknoppen in een groep te combineren. Als de reeks van activering wordt onderbroken door een ander besturingselement, dan start Apache OpenOffice automatisch met een nieuwe groep besturingselementen die kan worden geactiveerd, ongeacht de eerste groep besturingselementen.

Documentation note.png VBA : Anders dan in VBA kunt u geen radioknoppen invoegen in een groep besturingselementen in Apache OpenOffice BASIC. Het groeperen van besturingselementen in Apache OpenOffice BASIC wordt alleen gebruikt om een visuele scheiding te verzorgen door een kader rond de besturingselementen te tekenen.


Voorbeeld

Een voorbeeld voor de gegroepeerde radioknoppen:

 Sub OptionButton1()
 Dim oDialog As Object
 Dim oControl As Object
 
   DialogLibraries.LoadLibrary( "Standard" )
     oDialog = CreateUnoDialog( DialogLibraries.Standard.getByName("MyDialog") )      'Verberg de eerdere besturingselementen.
     oControl = oDialog.getControl("icFoto") : oControl.Visible = False
     oControl = oDialog.getControl("chkImprimir") : oControl.Visible = False
 
     'Eerste radioknop
     oControl = oDialog.getControl("optUbuntu")
     MsgBox oControl.State 
 
     'Tweede radioknop
     oControl = oDialog.getControl("optFedora")
     MsgBox oControl.State
 
     'Derde radioknop
     oControl = oDialog.getControl("optArch")
     MsgBox oControl.State
 
oDialog.execute()
oDialog.dispose()
 
End Sub

Tekstvelden

Tekstvelden staan gebruikers toe getallen en tekst in te voeren. De service com.sun.star.awt.UnoControlEdit vormt de basis voor tekstvelden.

Een tekstveld kan één of meer regels bevatten en kan worden bewerkt of geblokkeerd voor gebruikers-invoer. Tekstvelden kunnen ook worden gebruikt als speciale valuta en numerieke velden en ook als schermvelden voor speciale taken. Omdat deze besturingselementen zijn gebaseerd op de Uno-service UnoControlEdit, komt hun programma-gecontroleerde behandeling overeen.

Tekstvelden verschaffen de volgende eigenschappen:

Text (String)
huidige tekst
SelectedText (String)
momenteel geaccentueerde tekst
Selection (Struct)
alleen-lezen accentuering van details (structuur overeenkomend met com.sun.star.awt.Selection met de eigenschappen Min en Max om het begin en einde van de accentuering te specificeren)
MaxTextLen (short)
maximale aantal tekens dat kan worden ingevoerd in het veld
Editable (Boolean)
True activeert de optie om tekst in te voeren, False blokkeert de optie voor invoer (de eigenschap kan niet direct worden aangeroepen, maar alleen via IsEditable)
IsEditable (Boolean)
de inhoud van het besturingselement kan worden gewijzigd, alleen-lezen

De volgende eigenschappen worden verschaft via het geassocieerde object model:

Model.Align (short)
oriëntatie van de tekst (0: links uitgelijnd, 1: gecentreerd, 2: rechts uitgelijnd)
Model.BackgroundColor (long)
achtergrondkleur van het besturingselement
Model.Border (short)
type rand (0: geen rand, 1: 3D-rand, 2: eenvoudige rand)
Model.EchoChar (String)
echo-teken voor velden met wachtwoorden
Model.FontDescriptor (struct)
structuur met details van het lettertype dat moet worden gebruikt (overeenkomend met com.sun.star.awt.FontDescriptor)
Model.HardLineBreaks (Boolean)
automatische regeleinden worden permanent ingevoegd in de tekst van het besturingselement
Model.HScroll (Boolean)
de tekst heeft een horizontale schuifbalk
Model.MaxTextLen (Short)
maximale lengte van de tekst, waar 0 overeenkomt met geen beperking van de lengte
Model.MultiLine (Boolean)
staat invoer toe die meerdere regels beslaat
Model.Printable (Boolean)
het besturingselement kan worden afgedrukt
Model.ReadOnly (Boolean)
de inhoud van het besturingselement is alleen-lezen
Model.Tabstop (Boolean)
het besturingselement kan worden bereikt met de Tabtoets
Model.Text (String)
tekst geassocieerd met het besturingselement
Model.TextColor (Long)
tekstkleur van het besturingselement
Model.VScroll (Boolean)
de tekst heeft een verticale schuifbalk
Model.HelpText (String)
Helptekst die wordt weergegeven als u de muisaanwijzer op het besturingselement laat rusten
Model.HelpURL (String)
URL van de online Help voor het overeenkomende besturingselement

Voorbeeld

 Sub TekstVeld1()
 Dim oDialog As Object
 Dim oControl As Object 
    DialogLibraries.LoadLibrary( "Standard" )
     oDialog = CreateUnoDialog( DialogLibraries.Standard.getByName("MyDialog") )      'Het besturingselement tekstveld
     oControl = oDialog.getControl("txtNaam")
     'Stel een eigenschap voor uitlijnen in
     oControl.getModel.Align=1
     'Geef het dialoogvak weer
     oDialog.execute()     'we geven het besturingselement weer bij het sluiten
     MsgBox oControl.Text
     oDialog.dispose()
 
End Sub

Datumvelden

Een datumveld maakt het mogelijk waarden voor datums in te voeren, weer te geven en te bewerken. com.sun.star.awt.UnoControlDateField

Tijdvelden

Een tijdveld maakt het mogelijk waarden voor tijden in te voeren, weer te geven en te bewerken. com.sun.star.awt.UnoControlTimeField

Numerieke velden

Een numeriek veld maakt het mogelijk numerieke waarden in te voeren, weer te geven en te bewerken. com.sun.star.awt.UnoControlNumericalField

Valutavelden

Een valutaveld maakt het mogelijk waarden voor valuta in te voeren, weer te geven en te bewerken. com.sun.star.awt.UnoControlCurrencyField

Keuzelijsten

Keuzelijsten (service com.sun.star.awt.UnoControlListBox) ondersteunen de volgende eigenschappen:

ItemCount (Short)
aantal elementen, alleen-lezen
SelectedItem (String)
tekst van geaccentueerde invoer, alleen-lezen
SelectedItems (Array Of Strings)
gegevensveld met geaccentueerde items, alleen-lezen
SelectedItemPos (Short)
aantal van de thans geaccentueerde items, alleen-lezen
SelectedItemsPos (Array of Short)
gegevensveld met het aantal geaccentueerde items (voor lijsten die meervoudige selecties ondersteunen), alleen-lezen
MultipleMode (Boolean)
True activeert de optie voor meervoudige selectie van items, False blokkeert meervoudige selecties (de eigenschap kan niet direct worden aangeroepen, maar alleen via IsMultipleMode)
IsMultipleMode (Boolean)
staat meervoudige selectie binnen lijsten toe, alleen-lezen

Keuzelijsten verschaffen de volgende methoden:

addItem (Item, Pos)
voert de in Item gespecificeerde tekst in de lijst in op de positie Pos
addItems (ItemArray, Pos)
voert de in de tekenreeks van gegevensveld ItemArray ingevoerde items in de lijst in op de positie Pos
removeItems (Pos, Count)
verwijdert Count items vanaf de positie Pos
selectItem (Item, SelectMode)
activeert of deactiveert accentuering voor het element dat is gespecificeerd in de tekenreeks Item afhankelijk van de Booleaanse variabele van SelectMode
makeVisible (Pos)
scrollt door het lijstveld zodat het met Pos gespecificeerde item zichtbaar is

Het object model van de Keuzelijsten verschaft de volgende eigenschappen:

Model.BackgroundColor (long)
achtergrondkleur van het besturingselement
Model.Border (short)
type rand (0: geen rand, 1: 3D rand, 2: eenvoudige rand)
Model.FontDescriptor (struct)
structuur met details van het lettertype dat moet worden gebruikt (overeenkomend met com.sun.star.awt.FontDescriptor)
Model.LineCount (Short)
aantal regels in besturingselement
Model.MultiSelection (Boolean)
staat meervoudige selectie van items toe
Model.SelectedItems (Array of Strings)
lijst van geaccentueerde items
Model.StringItemList (Array of Strings)
lijst van alle items
Model.Printable (Boolean)
het besturingselement kan worden afgedrukt
Model.ReadOnly (Boolean)
de inhoud van het besturingselement is alleen-lezen
Model.Tabstop (Boolean)
het besturingselement kan worden bereikt met de Tabtoets
Model.TextColor (Long)
tekstkleur van het besturingselement
Model.HelpText (String)
automatisch weergegeven Helptekst die wordt weergegeven als de muisaanwijzer boven het besturingselement staat
Model.HelpURL (String)
URL van de online Help voor het overeenkomende besturingselement
Documentation note.png VBA : De optie in VBA voor toevoegen van lijstitems met een numerieke aanvullende waarde (ItemData) bestaat niet in Apache OpenOffice BASIC. Indien u een numerieke waarde wilt toevoegen (bijvoorbeeld een ID uit een database) in aanvulling op de natuurlijke taaltekst, moet u een aanvullend gegevensveld maken dat parallel aan de keuzelijst administreert.


Keuzelijsten met invoerveld

Keuzelijsten met invoerveld (com.sun.star.awt.UnoControlComboBox service) ondersteunen de volgende eigenschappen:

Boomstructuur

Boomstructuren (com.sun.star.awt.tree.TreeControlModel service) ondersteunen de volgende eigenschappen:


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools