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

Zurück Vor |
| 4.3.7 Welche Besonderheiten gibt es bei Comboboxen?
Das Kombinationsfeld ist der Listbox ähnlich. Sie stellt auch eine Liste zur Auswahl zur Verfügung. In dem Textfeld oberhalb der Liste kann der Anwender eine neue Eingabe tätigen. Außerdem ist beim Kombinationsfeld keine Mehrfachauswahl möglich. Auch besteht nicht die Möglichkeit einen Eintrag mit select auszuwählen. Die Auswahl für den ersten Eintrag erfolgt mit setText(string). Das Ergebnis wird mit getText ausgelesen. Man kann den ausgewählten Wert auch mit getSelection auslesen. Dann werden aber freie Eingaben ingnoriert und der Rückgabewert ist leer. Aufpassen muss man auch mit der Eigenschaft readonly ( myCtrl.model.readonly=true/false). Wird Readonly auf True gesetzt und es steht ein Text in der Auswahl der ComboBox kann der Anwender keine weitere Auswahl treffen. Bei leere Auswahl kann er eine aus der Liste auswählen, aber keine eigene eingeben. Eigenschaften und Methoden: MaxTextLen Im Gegensatz zu einem Textfeld steht in der IDE nicht die Möglichkeit zur Verfügung die maximale Textlänge für das Eingabefeld der Kombobox festzulegen. Dies muß im Programm erfolgen: Entweder mit myCtrl.setMaxTextLen(x) oder mit myCtrl.MaxTextLen=x additem( Item, Pos) Fügt einen Eintrag an der Position hinzu. myctrl.additem("Test",1) oder strEintrag = "Test" myctrl.additem(strEintrag,1) Additems(ItemArray,Pos) Fügt die Einträge des Array ItemArray ab der Stelle Pos in die Liste ein. Dim strEintraege(2) strEintraege(0)="Test0" strEintraege(1)="Test1" strEintraege(2)="Test2" myctrl.additems(strEintraege(),1) removeitems(Pos,Count) Entfernt die Anzahl (Count) von Einträgen ab der Position (Pos). myCtrl.removeitems(0,4) Achtung! Mit removeitems wird nicht der Eintrag im Textfeld der Combobox gelöscht. Dieser muß extra gelöscht werden. myCtrl.text="" itemcount Liest die Anzahl der Einträge aus. anzahl = myctrl.itemcount setText Mit settext kann ein String in das Eingabefeld eingetragen werden. Dieser erscheint dann nicht in der Liste. myCtrl.setText("Testeintrag") getText Mit GetText wird die Auswahl des Anwenders aus dem Textfeld ausgewählt. ergebnis = myctrl.getText Da eine Kombobox auch ohne Auswahl geschlossen werden, kann sollte man daran denken, auf einen leeren Eintrag zu prüfen. Vorher sollte man entscheiden was in einem solchen Fall zu passieren hat. Eventuell ist eine Meldung möglich, dass eine Auswahl getroffen werden muß. Model.StringItemList Gibt eine Liste mit allen Einträgen zurück. Dim Ergebnis() Ergebnis() = myCtrl.model.StringItemList() for i=0 to ubound(Ergebnis()) msgbox Ergebnis(i) next i for i=0 to ubound(myCtrl.model.StringItemList()) msgbox myctrl.model.StringItemList(i) next i |
Seitenanfang |

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