Difference between revisions of "NL/Documentation/BASIC Guide/Working With Dialogs"
Line 33: | Line 33: | ||
</source> | </source> | ||
− | <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 zich er van vergewissen dat de bibliotheek die het gebruikt (in dit voorbeeld | + | <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 zich er van vergewissen 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. |
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>. | 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>. | ||
Line 43: | Line 43: | ||
=== Sluiten met OK of Annuleren === | === 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 [[NL/Documentation/BASIC Guide/Control Elements|Besturingselementen voor dialoogvensters in detail]]. | |
− | + | 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"> | <source lang="oobas"> | ||
Line 51: | Line 51: | ||
DialogLibraries.LoadLibrary("Standard") | DialogLibraries.LoadLibrary("Standard") | ||
− | Dlg = CreateUnoDialog(DialogLibraries.Standard. | + | Dlg = CreateUnoDialog(DialogLibraries.Standard.MijnDialoogvenster) |
Select Case Dlg.Execute() | Select Case Dlg.Execute() | ||
Case 1 | Case 1 | ||
− | MsgBox " | + | MsgBox "Op OK gedrukt" |
Case 0 | Case 0 | ||
− | MsgBox " | + | MsgBox "Op Annuleren gedrukt" |
End Select | End Select | ||
</source> | </source> | ||
− | === | + | === 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 <tt>Execute</tt> 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 <tt>endExecute</tt>: | |
<source lang="oobas"> | <source lang="oobas"> | ||
Dlg.endExecute() | Dlg.endExecute() | ||
</source> | </source> | ||
− | |||
− | + | Het object dialoogvenster moet toegankelijk zijn vanuit de routine van d egebeurtenis. 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. | ||
− | + | 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"> | <source lang="oobas"> | ||
− | Dlg.endDialog(2) ' Dlg.execute | + | Dlg.endDialog(2) ' Dlg.execute zal 2 teruggeven |
</source> | </source> | ||
− | == | + | == 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. | 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. |
Revision as of 13:22, 17 March 2013
- Werken met dialoogvensters
- Eigenschappen
- Gebeurtenissen
- Elementen voor beheer dialoogvenster
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:
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.
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 zich er van vergewissen 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 Annulerenbevat, 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 d egebeurtenis. 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
A dialog can contain any number of control elements. You can access these elements through the getControl method that returns the control element by name.
Dim Ctl As Object Ctl = Dlg.getControl("MyButton") Ctl.Label = "New Label"
This code determines the object for the MyButton control element and then initializes the Ctl object variable with a reference to the element. Finally the code sets the Label property of the control element to the New Label value.
Working With the Model of Dialogs and Control Elements
The division between visible program elements (View) and the data or documents behind them (Model) occurs at many places in Apache OpenOffice API. In addition to the methods and properties of control elements, both dialog and control element objects have a subordinate Model object. This object allows you to directly access the content of a dialog or control element.
In dialogs, the distinction between data and depiction is not always as clear as in other API areas of Apache OpenOffice. Elements of the API are available through both the View and the Model.
The Model property provides program-controlled access to the model of dialog and control element objects.
Dim cmdNext As Object cmdNext = Dlg.getControl("cmdNext") cmdNext.Model.Enabled = False
This example deactivates the cmdNext button in the Dlg dialog with the aid of the model object from cmdNext.
Content on this page is licensed under the Public Documentation License (PDL). |