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