Ähnlich wie in Delphi kann in Lotus "visuell" programmiert werden. Dabei steht als Grundobjekt eine Dialogkomponente zur Verfügung in die dann weitere Komponenten eingebettet werden. Alle diese Komponenten haben diverse Eigenschaften und es können für sie Scripts erstellt werden, die diese Komponenten ausführen, wenn sie auf ein bestimmtes Ereignis reagieren.
Werkzeugleiste: (Toolbox)
Pointer ........................................ Frame
Label ........................................... Textbox
CommandButton ................... Image
Checkbox .................................... OptionButton
ListBox ........................ Combobox
Spinbutton ............................. Progressbar
Slider ...........................
Bei allen Dialogelementen kommt man über die rechte Maustaste zu den Properties
(=>Abb. 5) Dazu gehören Name, Caption, Größe, Schrift, usw. Mit einem Doppelklick auf die Komponente gelangt man in den Scripteditor, um zum Standardereignis das entsprechende Script zu schreiben.
Wichtige Eigenschaften (Properties) von Dialogelementen
. caption: Inhalt
. name: Name
. visible: Sichtbarkeit
. enabled: zeigt an, ob ein Objekt ansprechbar ist (true/false)
Wichtige Methoden:
. SetFocus: Fenster wird aktiviert
Wichtige Ereignisse (Events):
. Change: löst bei jeder Veränderung Ereignis aus(z.B. beim Slider, Combobox)
. Click: bei Mausklick
. DblClick: bei Doppelklick
. Gotfocus: wenn ein Fenster aktiviert wird
. Keypress: bei Tastendruck
. Initialize: bei Erstellung (Dialog) oder beim Laden (Objekt)
Spezielle Dialogelemente
Dialog: Methoden show: öffnet den Dialog
Methode close: schließt den Dialog
Ereignis load: Ladet (öffnet) den Dialog
Label: Eigenschaft caption: Inhalt des Labels ist vom Typ string
Textbox: Eigenschaft text: Inhalt der Textbox, ist vom Typ string
OptionButton/ Eigenschaft value: gibt an, ob Element ausgewählt ist oder nicht
Checkbox: 0 oder false: nicht ausgewählt
Listbox/ 1 oder true: ausgewählt
Combobox: 2 oder greyed: keine Auswahl möglich
Bei properties können im rechten Ordner die einzelnen Elemente eingegeben werden (zur Entwurfszeit).
Eigenschaft list: enthält die einzelnen Elemente,
(dialog1.combo1.list(1) liefert das 2. Element)
Methode additem: fügt ein Element hinzu, Standardereignis: Pick!!
Slider: Eingeschaft value: liefert die Position des Schiebereglers als integer
Beispiel: Eingabedialog
Zuerst werden die Dialogkomponente (Dialog 1), die
Labelkomponenten (Label1-3), die Textboxkomponenten (Text1-3) und die Command-Button-Komponenten (Command1-2) erstellt. (Properties (=>Abb. 4) werden über rechte Maustaste aufgerufen)
Anschließend werden die entsprechenden Scripts geschrieben Der Script-Editor kann über die rechte Maustaste (View Scripts), durch den Menüpunkt "View/Show Scripts" oder durch Doppelklick auf eine Komponente gestartet werden.
Das Script für den OK-Button könnte dann z.B. so wie in der Abb. 6 aussehen.
Alle Inhalte, die an Zellen zugewiesen werden, sollten vorher in einen String konvertiert werden (mit dem Befehl Cstr() ). Da aber Caption ohnehin einen Text beinhaltet, kann diese Konvertierung hier auch entfallen. Zellinhalte werden mit [Zelle].Contents oder [Zellname].Contents angesprochen. Um mit dem Button "Cancel" den Dialog abzubrechen eignet sich folgendes Script:
Sub Click (Source Asotuscommandbutton)
Source.Parent.Close (oder dialog1.close)
End Sub
Beispiel: Checkbox, Slider und Combobox (=> Abb.5)
Sub Click(Source As Lotusoptionbutton)
[B3].contents = \"100000\"
End Sub (bzw. 250000 und 750000)
Sub Click(Source As Lotusslider)
[B4].contents = Cstr(Dialog2.slider1.value)
End Sub
Sub Pick(Source As Lotuscombobox, Index As Integer)
[B5].contents = Cstr(Dialog2.combo1.text)
End Sub
Initialisierungsscript:
Sub Load(Source As Lotusdialog)
Dialog2.Slider1.value = Cint([B4].contents)
Dialog2.combo1.caption = Cstr([B5].contents)
End Sub
|