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