Difference between revisions of "NL/Documentation/BASIC Guide/Working With Dialogs"

From Apache OpenOffice Wiki
Jump to: navigation, search
 
(7 intermediate revisions by 2 users not shown)
Line 8: Line 8:
 
{{DISPLAYTITLE:Werken  met dialoogvensters}}
 
{{DISPLAYTITLE:Werken  met dialoogvensters}}
 
__NOTOC__
 
__NOTOC__
Dialoogvensters van {{OOo}} BASIC bestaan uit een dialoogvenster dat velden, lijstvakken, radioknoppen en andere controle-elementen kan bevatten.
+
Dialoogvensters van {{AOo}} BASIC bestaan uit een dialoogvenster dat velden, lijstvakken, radioknoppen en andere controle-elementen kan bevatten.
  
 
== Dialoogvensters maken ==
 
== Dialoogvensters maken ==
  
U kunt dialoogvensters maken en structureren met behulp van de editor van {{OOo}} voor dialoogvensters:
+
U kunt dialoogvensters maken en structureren met behulp van de editor van {{AOo}} voor dialoogvensters:
  
 
[[Image:Documentation_basicguide_dlg_01_nl.png|none|thumb|500px|Dialoogvensters maken en structureren in de editor voor dialoogvensters]]
 
[[Image:Documentation_basicguide_dlg_01_nl.png|none|thumb|500px|Dialoogvensters maken en structureren in de editor voor dialoogvensters]]
  
U kunt de besturingselementen vanuit het ontwerp-palet (rechts) in het gebied van het dialoogvenster slepen, en hun positie en grootte definiëren.
+
U kunt de besturingselementen vanuit het ontwerp-palet (links) in het gebied van het dialoogvenster slepen, en hun positie en grootte definiëren.
  
 
Het voorbeeld toont een dialoogvenster dat een label en een keuzelijst bevat.  
 
Het voorbeeld toont een dialoogvenster dat een label en een keuzelijst bevat.  
  
[[Image:documentation_basicguide_dlg_04.gif|none|thumb|500px|Een dialoogvenster dat een label en een keuzelijst bevat]]
+
[[Image:documentation_basicguide_dlg_04_nl.png|none|thumb|500px|Een dialoogvenster dat een label en een keuzelijst bevat]]
  
 
U kunt een dialoogvenster openen met de volgende code:
 
U kunt een dialoogvenster openen met de volgende code:
  
<source lang="oobas">
+
<syntaxhighlight lang="oobas">
 
Dim Dlg As Object
 
Dim Dlg As Object
  
Line 31: Line 31:
 
Dlg.Execute()
 
Dlg.Execute()
 
Dlg.dispose()
 
Dlg.dispose()
</source>
+
</syntaxhighlight>
  
<tt>CreateUnoDialog</tt> creates an object called <tt>Dlg</tt> that references the associated dialog. Before you can create the dialog, you must ensure that the library it uses (in this example, the <tt>Standard</tt> library) is loaded. The <tt>LoadLibrary</tt> method performs this task.
+
<tt>CreateUnoDialog</tt> maakt een object genaamd <tt>Dlg</tt> dat verwijst naar het geassocieerde dialoogvenster. Vóórdat u een dialoogvenster kunt maken, moet u er zeker van zijn dat de bibliotheek die het gebruikt (in dit voorbeeld de bibliotheek <tt>Standard</tt>) is geladen. Indien niet geladen, dan voert de methode <tt>LoadLibrary</tt> deze taak uit.
  
Once the <tt>Dlg</tt> dialog object has been initialized, you can use the <tt>Execute</tt> method to display the dialog. Dialogs such as this one are described as modal because they do not permit any other program action until they are closed. While this dialog is open, the program remains in the <tt>Execute</tt> call.
+
Als het dialoogvenster-object <tt>Dlg</tt> eenmaal is geïnitialiseerd, kunt u de methode <tt>Execute</tt> gebruiken om het dialoogvenster weer te geven. Dialoogvensters zoals deze worden omschreven als modal omdat zij geen andere actie van het programma toestaan totdat zij zijn gesloten. Zolang dit dialoogvenster geopend is, blijft het programma in de aanroep <tt>Execute</tt>.
  
The <tt>dispose</tt> method at the end of the code releases the resources used by the dialog once the program ends.
+
De methode <tt>dispose</tt> aan het einde van de code geeft de bronnen, gebruikt door het dialoogvenster, vrij als het programma eenmaal eindigt.
  
== Closing Dialogs ==
+
== Dialoogvensters sluiten ==
  
=== Closing With OK or Cancel ===
+
=== Sluiten met OK of Annuleren ===
  
If a dialog contains an '''OK''' or a '''Cancel''' button, the dialog is automatically closed when you click one of these buttons. More information about working with these buttons is discussed in [[Documentation/BASIC Guide/Control Elements|Dialog Control Elements in Detail]].
+
Als een dialoogvenster een knop '''OK''' of '''Annuleren''' bevat, wordt het dialoogvenster automatisch gesloten als u op één van deze knoppen drukt. Meer informatie over de werking van deze knoppen wordt besproken in [[NL/Documentation/BASIC Guide/Control Elements|Besturingselementen voor dialoogvensters in detail]].
  
If you close a dialog by clicking the '''OK''' button, the <tt>Execute</tt> method returns a return value of 1, otherwise a value of 0 is returned.
+
Als u een dialoogvenster sluit met het klikken op de knop '''OK''' geeft de methode <tt>Execute</tt> een terugkeerwaarde van 1, anders wordt een waarde van 0 teruggegeven.
  
<source lang="oobas">
+
<syntaxhighlight lang="oobas">
 
Dim Dlg As Object
 
Dim Dlg As Object
  
 
DialogLibraries.LoadLibrary("Standard")
 
DialogLibraries.LoadLibrary("Standard")
Dlg = CreateUnoDialog(DialogLibraries.Standard.MyDialog)
+
Dlg = CreateUnoDialog(DialogLibraries.Standard.MijnDialoogvenster)
 
Select Case Dlg.Execute()  
 
Select Case Dlg.Execute()  
 
Case 1
 
Case 1
   MsgBox "Ok pressed"
+
   MsgBox "Op OK gedrukt"
 
Case 0  
 
Case 0  
   MsgBox "Cancel pressed"
+
   MsgBox "Op Annuleren gedrukt"
 
End Select
 
End Select
</source>
+
</syntaxhighlight>
  
=== Closing With the Close Button in the Title Bar ===
+
=== Sluiten met de knop Sluiten in de titelbalk ===
  
You can close a dialog by clicking the close button on the title bar of the dialog window. The <tt>Execute</tt> method of the dialog returns the value 0, which is the same as when you click Cancel.
+
U kunt u een dialoogvenster sluiten door te klikken op de knop Sluiten in de titelbalk van het dialoogvenster. In dit geval geeft de methode <tt>Execute</tt> van het dialoogvenster de waarde 0 terug, hetzelfde als wanneer u op de knop Annuleren drukt.
  
=== Closing With an Explicit Program Call ===
+
=== Sluiten met een expliciete aanroep van het programma ===
  
From a routine called by an event of a control, e.g. push of a normal button, you can also close an open dialog window with the <tt>endExecute</tt> method:
+
Vanuit een routine die wordt aangeroepen bij een gebeurtenis van een besturingselement, bijv. drukken op een gewone knop, kunt u ook een geopend dialoogvenster sluiten met de methode <tt>endExecute</tt>:
  
<source lang="oobas">
+
<syntaxhighlight lang="oobas">
 
Dlg.endExecute()
 
Dlg.endExecute()
</source>
+
</syntaxhighlight>
The dialog object must be accessible from the event routine. A simple way is to declare it as a <tt>Private</tt> or <tt>Public</tt> variable common to the main dialog routine and the event routine.
+
  
The <tt>execute</tt> method of the dialog returns the value 0, which is the same as when you click Cancel.
+
Het object dialoogvenster moet toegankelijk zijn vanuit de routine van de gebeurtenis. Een eenvoudige manier is om het te declareren als een variabele <tt>Private</tt> of <tt>Public</tt> gebruikelijk voor de routine voor het hoofd-dialoogvenster en de routine voor de gebeurtenis.
  
 +
De methode <tt>execute</tt> van het dialoogvenster geeft de waarde 0 terug, wat dezelfde is als wanneer u op de knop Annuleren drukt.
  
The <tt>endDialog</tt> method of the dialog is an improvement of <tt>endExecute</tt>. Its argument specifies the value that will be returned by <tt>execute</tt> method.
+
De methode <tt>endDialog</tt> van het dialoogvenster is een verbetering van <tt>endExecute</tt>. Het argument er van specificeert de waarde die zal worden teruggegeven door de methode <tt>execute</tt>.
  
<source lang="oobas">
+
<syntaxhighlight lang="oobas">
Dlg.endDialog(2)  ' Dlg.execute will return 2
+
Dlg.endDialog(2)  ' Dlg.execute zal 2 teruggeven
</source>
+
</syntaxhighlight>
  
== Access to Individual Control Elements ==
+
== Toegang tot individuele besturingselementen ==
  
A dialog can contain any number of control elements. You can access these elements through the <tt>getControl</tt> method that returns the control element by name.
+
Een dialoogvenster kan een aantal besturingselementen bevatten. U kunt toegang krijgen tot deze elementen via de methode <tt>getControl</tt> die het element bij zijn naam teruggeeft.
  
<source lang="oobas">
+
<syntaxhighlight lang="oobas">
 
Dim Ctl As Object
 
Dim Ctl As Object
  
Ctl = Dlg.getControl("MyButton")
+
Ctl = Dlg.getControl("MijnKnop")
Ctl.Label = "New Label"
+
Ctl.Label = "Nieuw label"
</source>
+
</syntaxhighlight>
  
This code determines the object for the <tt>MyButton</tt> control element and then initializes the <tt>Ctl</tt> object variable with a reference to the element. Finally the code sets the <tt>Label</tt> property of the control element to the <tt>New Label</tt> value.
+
Deze code bepaalt het object voor het besturingselement <tt>MijnKnop</tt> en initialiseert dan de object-variabele <tt>Ctl</tt> met een verwijzing naar het element. Tenslotte stelt de code de eigenschap <tt>Label</tt> van het besturingselement in op de waarde <tt>Nieuw label</tt>.
  
{{Documentation/Note|Unlike {{OOo}} Basic identifiers, the names of control elements are case sensitive.}}
+
{{Note|Anders dan identificaties in {{AOo}} BASIC, zijn de namen van de besturingselementen hoofdlettergevoelig.}}
  
== Working With the Model of Dialogs and Control Elements ==
+
== Werken met het model van dialoogvensters en besturingselementen ==
  
The division between visible program elements ('''View''') and the data or documents behind them ('''Model''') occurs at many places in {{OOo}} API. In addition to the methods and properties of control elements, both dialog and control element objects have a subordinate <tt>Model</tt> object. This object allows you to directly access the content of a dialog or control element.
+
De scheiding tussen zichtbare programma-elementen ('''View''') en de gegevens van de documenten daarachter ('''Model''') vinden plaats op vele plekken in de API van {{AOo}}. In aanvulling op de methoden en eigenschappen van besturingselementen, hebben zowel het dialoogvenster als de besturingselementen een ondergeschikt object <tt>Model</tt> . Dit object staat u directe toegang tot de inhoud van een dialoogvenster of een besturingselement toe.
  
In dialogs, the distinction between data and depiction is not always as clear as in other API areas of {{OOo}}. Elements of the API are available through both the View and the Model.
+
In dialoogvensters is het onderscheid tussen gegevens en weergave niet altijd even helder als op andere gebieden van de API in {{AOo}}. Elementen van de API zijn beschikbaar via zowel de View als de Model.
  
The <tt>Model</tt> property provides program-controlled access to the model of dialog and control element objects.
+
De eigenschap <tt>Model</tt> verschaft programma-gecontroleerde toegang tot het model van het dialoogvenster en objecten van het besturingselement.
  
<source lang="oobas">
+
<syntaxhighlight lang="oobas">
Dim cmdNext As Object
+
Dim cmdVolgende As Object
  
cmdNext = Dlg.getControl("cmdNext")
+
cmdVolgende = Dlg.getControl("cmdVolgende")
cmdNext.Model.Enabled = False
+
cmdVolgende.Model.Enabled = False
</source>
+
</syntaxhighlight>
  
This example deactivates the <tt>cmdNext</tt> button in the <tt>Dlg</tt> dialog with the aid of the model object from <tt>cmdNext</tt>.
+
Dit voorbeeld deactiveert de knop <tt>cmdVolgende</tt> in het dialoogvenster <tt>Dlg</tt> met behulp van het modelobject van <tt>cmdVolgende</tt>.
  
 
{{InterWiki Languages BasicGuide|articletitle=Documentation/BASIC Guide/Working With Dialogs}}
 
{{InterWiki Languages BasicGuide|articletitle=Documentation/BASIC Guide/Working With Dialogs}}
 
{{PDL1}}
 
{{PDL1}}

Latest revision as of 14:48, 10 February 2021

Book.png


Dialoogvensters van Apache OpenOffice BASIC bestaan uit een dialoogvenster dat velden, lijstvakken, radioknoppen en andere controle-elementen kan bevatten.

Dialoogvensters maken

U kunt dialoogvensters maken en structureren met behulp van de editor van Apache OpenOffice voor dialoogvensters:

Dialoogvensters maken en structureren in de editor voor dialoogvensters

U kunt de besturingselementen vanuit het ontwerp-palet (links) in het gebied van het dialoogvenster slepen, en hun positie en grootte definiëren.

Het voorbeeld toont een dialoogvenster dat een label en een keuzelijst bevat.

Een dialoogvenster dat een label en een keuzelijst bevat

U kunt een dialoogvenster openen met de volgende code:

Dim Dlg As Object
 
DialogLibraries.LoadLibrary("Standard")
Dlg = CreateUnoDialog(DialogLibraries.Standard.DlgDef)
Dlg.Execute()
Dlg.dispose()

CreateUnoDialog maakt een object genaamd Dlg dat verwijst naar het geassocieerde dialoogvenster. Vóórdat u een dialoogvenster kunt maken, moet u er zeker van zijn dat de bibliotheek die het gebruikt (in dit voorbeeld de bibliotheek Standard) is geladen. Indien niet geladen, dan voert de methode LoadLibrary deze taak uit.

Als het dialoogvenster-object Dlg eenmaal is geïnitialiseerd, kunt u de methode Execute gebruiken om het dialoogvenster weer te geven. Dialoogvensters zoals deze worden omschreven als modal omdat zij geen andere actie van het programma toestaan totdat zij zijn gesloten. Zolang dit dialoogvenster geopend is, blijft het programma in de aanroep Execute.

De methode dispose aan het einde van de code geeft de bronnen, gebruikt door het dialoogvenster, vrij als het programma eenmaal eindigt.

Dialoogvensters sluiten

Sluiten met OK of Annuleren

Als een dialoogvenster een knop OK of Annuleren bevat, wordt het dialoogvenster automatisch gesloten als u op één van deze knoppen drukt. Meer informatie over de werking van deze knoppen wordt besproken in Besturingselementen voor dialoogvensters in detail.

Als u een dialoogvenster sluit met het klikken op de knop OK geeft de methode Execute een terugkeerwaarde van 1, anders wordt een waarde van 0 teruggegeven.

Dim Dlg As Object
 
DialogLibraries.LoadLibrary("Standard")
Dlg = CreateUnoDialog(DialogLibraries.Standard.MijnDialoogvenster)
Select Case Dlg.Execute() 
Case 1
  MsgBox "Op OK gedrukt"
Case 0 
  MsgBox "Op Annuleren gedrukt"
End Select

Sluiten met de knop Sluiten in de titelbalk

U kunt u een dialoogvenster sluiten door te klikken op de knop Sluiten in de titelbalk van het dialoogvenster. In dit geval geeft de methode Execute van het dialoogvenster de waarde 0 terug, hetzelfde als wanneer u op de knop Annuleren drukt.

Sluiten met een expliciete aanroep van het programma

Vanuit een routine die wordt aangeroepen bij een gebeurtenis van een besturingselement, bijv. drukken op een gewone knop, kunt u ook een geopend dialoogvenster sluiten met de methode endExecute:

Dlg.endExecute()

Het object dialoogvenster moet toegankelijk zijn vanuit de routine van de gebeurtenis. Een eenvoudige manier is om het te declareren als een variabele Private of Public gebruikelijk voor de routine voor het hoofd-dialoogvenster en de routine voor de gebeurtenis.

De methode execute van het dialoogvenster geeft de waarde 0 terug, wat dezelfde is als wanneer u op de knop Annuleren drukt.

De methode endDialog van het dialoogvenster is een verbetering van endExecute. Het argument er van specificeert de waarde die zal worden teruggegeven door de methode execute.

Dlg.endDialog(2)  ' Dlg.execute zal 2 teruggeven

Toegang tot individuele besturingselementen

Een dialoogvenster kan een aantal besturingselementen bevatten. U kunt toegang krijgen tot deze elementen via de methode getControl die het element bij zijn naam teruggeeft.

Dim Ctl As Object
 
Ctl = Dlg.getControl("MijnKnop")
Ctl.Label = "Nieuw label"

Deze code bepaalt het object voor het besturingselement MijnKnop en initialiseert dan de object-variabele Ctl met een verwijzing naar het element. Tenslotte stelt de code de eigenschap Label van het besturingselement in op de waarde Nieuw label.

Documentation note.png Anders dan identificaties in Apache OpenOffice BASIC, zijn de namen van de besturingselementen hoofdlettergevoelig.

Werken met het model van dialoogvensters en besturingselementen

De scheiding tussen zichtbare programma-elementen (View) en de gegevens van de documenten daarachter (Model) vinden plaats op vele plekken in de API van Apache OpenOffice. In aanvulling op de methoden en eigenschappen van besturingselementen, hebben zowel het dialoogvenster als de besturingselementen een ondergeschikt object Model . Dit object staat u directe toegang tot de inhoud van een dialoogvenster of een besturingselement toe.

In dialoogvensters is het onderscheid tussen gegevens en weergave niet altijd even helder als op andere gebieden van de API in Apache OpenOffice. Elementen van de API zijn beschikbaar via zowel de View als de Model.

De eigenschap Model verschaft programma-gecontroleerde toegang tot het model van het dialoogvenster en objecten van het besturingselement.

Dim cmdVolgende As Object
 
cmdVolgende = Dlg.getControl("cmdVolgende")
cmdVolgende.Model.Enabled = False

Dit voorbeeld deactiveert de knop cmdVolgende in het dialoogvenster Dlg met behulp van het modelobject van cmdVolgende.


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