| Startseite | Inhalt
StarBasic / OpenOffice.org Basic FAQ
Fragen und Infos: starbasic@dannenhoefer.de

Zurück Vor |
| 4.1.4 Wie geht man mit Kontrollfeldern in Dialogen um?
Dialoge bestehen aus Kontrollfeldern, die die eigentliche Eingabe unterstützen. Folgende Kontrollfelder gibt es: Schaltflächen ( CommandButton) Schaltflächen sind da um einen bestimmten Befehl nach einem Mausklick durch den Anwender auszuführen. Üblicherweise steht auf der Schaltfläche der Befehl. OptionButtons Ein OptionButton kann eigentlich immer nur zusammen mit mindestens einem weiteren Optionbutton verwendet werden. Mehrere Optionbuttons werden zusammengefasst, um zwischen ihnen eine eindeutige Auswahl zu ermöglichen. Checkboxen Ein Checkbox ist für die Abfrage von Ja/Nein-Werten gedacht. Sie sind damit eine Kurzfassung von zwei Optionbutton. Listboxen Eine Listbox ist eine Liste von Einträgen aus denen der Anwender auswählen kann. Zum Einen stehen Eigenschaften in der IDE zur Verfügung zum Anderen noch Methoden des Objektes die den Zugriff auf die Listenelemente ermöglichen. Textfeld (Textfield) Eingabefeld für Text/Zahlen Kombinationsfeld Das Kombinationsfeld ist der Listbox ähnlich. Das Feld stellt auch eine Liste zur Auswahl zur Verfügung. Aber mit einer entscheidenden Unterschied in dem Textfeld oberhalb der Liste kann der Anwender eine neue Eingabe tätigen. Außerdem ist beim Kombinationsfeld keine Mehrfachauswahl möglich. Rahmen (FrameControll) Rahmen in Dialogen haben zwar in Starbasic den Namen FrameControl, was darauf schließen lassen könnte, dass sich mit diesen Objekt zusammenfassen lassen. Dies ist leider nicht möglich. Ein Rahmenobjekt ist in Starbasic-Dialogen einfach nur eine Gestaltungsmittel. Zum Beispiel kann man damit Gruppen von Optionbutton optisch hervorheben. Beschriftungsfeld (Label) Dieses ist ein Feld mit dem ein beliebiger Text im Dialog positioniert werden kann. Obwohl in der Maske im Dialogeditior "Titel" steht ist die Property "Label". Grafisches Kontrollfeld (ImageControl) Dieses Feld dient dazu um eine Grafik im Dialog anzuzeigen. Diese Grafik muss zur Laufzeit entsprechend der Pfadangabe zur Verfügung stehen. Kontrollfelder können über ihren Namen angesprochen werden. Nachdem der Dialog geladen worden ist, stehen die Kontrollfelder zur Verfügung. Und können mit GetControl zugewiesen werden. DialogLibraries.LoadLibrary( "Standard" ) MyDialog = CreateUnoDialog(DialogLibraries.Standard.Dialog1) MyControl=MyDialog.GetControl("Kontrollfeld") Danach stehen unter dem Objekt MyControl die Eigenschaften und Methoden zur Verfügung. Viele davon, vor allem die Wichtigsten, befinden sich im Service Model von MyControl. Objektübersicht eines Kontrollfeldes Es gibt einige Eigenschaften die alle Kontrollfelder haben. Die Wichtigsten hiervon sind: Eigenschaften von Kontrollfeldern Name, Aktiviert,Seite(Step),Höhe,Breite,PositionX,PositionY,Zusatzinformationen,Hilftext,Hilfe URL. Name In der Eigenschaft "Name" steht der eindeutige Name des Kontrollfeldes. Mit diesem Namen erfolgte der Zugriff auf dieses Kontrollfeld. Diesen Namen zu ändern macht nur Sinn wenn man ein Kontrollfeld während der Laufzeit neu hinzufügt. Normalerweise wird der Name beim Erstellen des Dialoges im Dialogeditor eingetragen. Der Name eines Kontrollfeldes muß innerhalb eines Dialoges eindeutig sein. Dabei wird Groß- und Kleinschreibung unterschieden. Die wesentliche Verwendung erfolgt beim Aufruf eines Kontrollfeldes über Dialog.getControl(Name) Aktiviert Über den Schalter "Aktiviert", wird entschieden ob das Kontrollfeld aktiviert oder nicht aktiviert ist. Ein nicht aktiviertes Kontrollfeld kann nicht angesprochen und ist dann nur als hellgrauer Schatten zu sehen. Die Eigenschaft im Model ist enabled. MyControl.Model.enabled = true Seite(Step) Mit dieser Eigenschaften kann man Kontrollfelder bestimmten Dialogseiten zuordnen. Dies erfolgt in der Regel auch beim Gestalten eines mehrseitigen Dialoges. Näheres zu Erstellen von mehrseitigen Dialogen steht hier. Zugriff über MyControl.Model.Step=0 Reihenfolge In der Reihenfolge (Tabindex) ist die Stelle des Kontrollfeldes innerhalb des Dialoges hinterlegt. Hat man zum Beispiel drei Eingabefelder, die hintereinander abgefragt werden sollen, bekommen die drei fortlaufende Einträge in der Eigenschaft Reihenfolge. Diese Reihenfolge entspricht auch der Bewegung innerhalb der Maske mit der Tabulator-Taste. Höhe Legt die Höhe des Objektes in Pixel fest. MyControl.Model.Height = 15 Breite Legt die Breite des Objektes in Pixel fest. Starbasic: MyControl.Model.Width = 15 PositionX, PositionY Mit diesen beiden Eigenschaften läßt sich das Kontrollfeld innerhalb des Dialoges positionieren. StarBasic: MyControl.Model.PositionX und MyControl.Model.PositionY Zusatzinformation Hier kann ein zusätzlicher Text hinterlegt werden. Zum Beispiel ein Kommentar zu dem Kontrollfeld. Starbasic: MyControl.Model.Tag Hilfetext Dies ist ein automatisch eingeblendeter Hilfetext, der angezeigt wird, sofern der Mauszeiger über dem Steuerelement zum Stehen kommt. HilfeUrl Legt die ID-Nummer für den Zugriff auf die Online Hilfe fest. Damit wird eine bestimmte Stelle in der Online-Hilfe mit dem Kontrollfeld verbunden, die dann beim Drücken der F1-Taste automatisch aufgerufen wird. Theorie! In der Praxis ist die Funktion nicht hinterlegt. Zeichensatz Mit der Eigenschaft Zeichensatz öffnet sich in der IDE ein Dialog mit den Schrifteinstellungen. Innerhalb von Starbasic kann man diese Parameter ebenfalls ansprechen. Dafür steht die Eigenschaft FontDesscriptor als Struktur zur Verfügung. Der Umgang mit Strukten bei Objekten steht im Kapitel "Objekte und Strukturen" 'Anlegen des Strukturobjektes Dim myFont As New com.sun.star.awt.FontDescriptor 'Zuweisen der Werte MyFont.Name = "Arial" MyFont.StyleName = "Fett" MyFont.Height = 8 'Übergabe an Konrollfeld MyControl.Model.FontDescriptor=MyFont Drucken Entscheidet ob ein Kontrollfeld beim Ausdrucken auf dem Papier mit gedruckt wird. Dies ist eine Eigenschaft die für Basicdialoge nicht wichtig ist. Man kann aber Kontrollfelder auch in Dokumenten verwenden. Dort mach diese Eigenschaft dann einen Sinn. Man kann zu Beispiel ein Dokument mit einer Schaltfläche versehen, die dann nicht mit gedruckt wird. Starbasic: MyControl.Model.Printable = True Tapstop Mit Tapstop wird entschieden ob das Kontrollfeld mit der Tabtaste erreichbar ist. Also ob es innerhalb der Reihenfolge beim Sprung mit Tab- Taste beachtet oder ignoriert werden soll. Es gibt zu jedem Kontrollfeld einen Standardwert. Zum Beispiel bei einer Schaltfläche ja und bei einem Label nein. Drehfeld Drehfelder sind Eingabefelder, die sich noch zusätzlich mit Pfeiltasten einstellen lassen. Sie machen nur bei Zahlen und Datums/Zeit- Eingaben einen Sinn. Starbasic: MyControl.Model.Spin = true / false Nur Lesen Der Inhalt des Steuerelementes ist schreibgeschützt. Er kann also nicht geändert werden. Dies kann für Datenfelder, die nicht geändert werden dürfen, interessant sein. Außerdem besteht auf die Daten Zugriff um diese zum Beispiel zu markieren und zu kopieren. StarBasic: MyControl.Model.Readonly=True / False |
Seitenanfang |

2003 - 2009 von Michael Dannenhöfer |
Letzte Aktualisierung: 06.04.2009