Hilfe
Parameter
gagdet | Identität eines Objekts |
Rückgabewert
Anzahl der Einträge des Objekts
Beschreibung
Diese Funktion liefert die Anzahl der Einträge einer ListBox, ComboBox oder eines Tabbers zurück. Solche Einträge können mit AddGadgetItem / InsertGadgetItem
hinzugefügt und mit RemoveGadgetItem
gelöscht werden.
Beispiel
Dieses komplexe Beispiel zeigt den Umgang mit Listboxen, Comboboxen und Tabbern:
; Tabber - Objekt erstellen (für Registerkarten)
tabber = CreateTabber(0, 0, 300, 250, window)
; Registerkarten hinzufügen
AddGadgetItem tabber, "Liste", 1 ; die 1 gibt an, dass der Eintrag gleich ausgewählt wird
AddGadgetItem tabber, "Auswahlbox"
AddGadgetItem tabber, "Listen leeren"
; ListBox - Objekt erstellen (im ersten "Tab")
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
listbox = CreateListBox(5, 5, 285, 180, tabber)
; ein paar Einträge hinzufügen
For t = 1 To 5
AddGadgetItem listbox, "Eintrag #" + t
Next
; ComboBox - Objekt erstllen (für den zweiten "Tab")
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
combobox = CreateComboBox(5, 5, 285, 20, tabber)
; verstecken, da ja gerade der erste Tab aktiv ist
HideGadget combobox
; ein paar Einträge hinzufügen (aber immer an erster Stelle)
For t = 1 To 5
InsertGadgetItem combobox, 0, "Eintrag #" + t
Next
; Button zum Leeren der Listen erstellen (für dritten "Tab")
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
button_clear = CreateButton("Liste und Auswahlliste leeren", 10, 10, 275, 25, tabber)
HideGadget button_clear
; Buttons erstellen (für den ersten und zweiten "Tab")
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
button_remove = CreateButton("Eintrag löschen", 5, 190, 100, 22, tabber)
button_add = CreateButton("Eintrag anfügen", 110, 190, 100, 22, tabber)
; Hauptschleife
; - - - - - - - - - - - - -
Repeat
WaitEvent()
Select EventID()
;Aktion wurde in einem Gadget ausgelöst
Case $401
;Ursprung der Aktion
source = EventSource()
;War es das Tabber - Objekt?
If source = tabber Then
;in EventData steht das neue Item
;also in Abhängigkeit des Gadgets zeigen und verst
Select EventData()
Case 0
HideGadget combobox
ShowGadget listbox
HideGadget button_clear
ShowGadget button_add
ShowGadget button_remove
Case 1
ShowGadget combobox
HideGadget listbox
HideGadget button_clear
ShowGadget button_add
ShowGadget button_remove
Case 2
HideGadget combobox
HideGadget listbox
ShowGadget button_clear
HideGadget button_add
HideGadget button_remove
End Select
EndIf
;War es der Leeren - Button?
If source = button_clear Then
;beide "Listen" leeren
ClearGadgetItems listbox
ClearGadgetItems combobox
;Meldung ausgeben
AppTitle "Hinweis"
Notify "Liste und Auswahlliste wurden geleert."
EndIf
;War es der Löschen - Button?
If source = button_remove Then
;Welcher Tab ist aktiv?
tab = SelectedGadgetItem( tabber )
;In Abhängigkeit des Tabs den selektierten Eintrag herausfinden
If tab = 0 Then item = SelectedGadgetItem( listbox )
If tab = 1 Then item = SelectedGadgetItem( combobox )
;Wenn ein Eintrag ausgewählt wurde
If item > - 1 Then
;Bezeichnung des Eintrags herausfinden
If tab = 0 Then name$ = GadgetItemText$(listbox, item)
If tab = 1 Then name$ = GadgetItemText$(combobox, item)
;löschen
If tab = 0 Then RemoveGadgetItem listbox, item
If tab = 1 Then RemoveGadgetItem combobox, item
;Meldung über erfolgreiche Löschung ausgeben
AppTitle "Hinweis"
Notify name$ + " wurde erfolgreich gelöscht."
;bei der Auswahlliste 1. Eintrag wieder selektieren
If tab = 1 Then
;Aber nur, wenn überhaupt noch Eintag da ist,
;sonst gibt es einen Fehler
If CountGadgetItems( combobox ) > 0 Then
SelectGadgetItem combobox, 0
EndIf
EndIf
Else
;Wenn nicht, dann Benutzer darüber in Kenntnis setzen
AppTitle "Hinweis"
Notify "Kein Eintrag selektiert!"
EndIf
EndIf
;War es der Anfügen - Button?
If source = button_add Then
;Welcher Tab?
tab = SelectedGadgetItem( tabber )
;Wie viel Items haben wir? (für neue Nummer)
If tab = 0 Then items = CountGadgetItems( listbox )
If tab = 1 Then items = CountGadgetItems( combobox )
;Eintrag hinzufügen
If tab = 0 Then AddGadgetItem listbox, "Eintrag #" + (items + 1)
;den Eintrag in der Auswahlliste wieder ganz oben hinzufügen:
If tab = 1 Then InsertGadgetItem combobox, "", 1
;den frisch hinzugefügten Combobox - Eintrag benennen
If tab = 1 Then
ModifyGadgetItem combobox, 0, "Eintrag #" + (items + 1)
EndIf
EndIf
;Fenster wurde geschlossen - > Programm beenden
Case $803
End
End Select
Forever
Siehe auch
AddGadgetItem, ClearGadgetItems, CreateComboBox, CreateListBox, CreateTabber, GadgetItemText, InsertGadgetItem, ModifyGadgetItem, RemoveGadgetItem, SelectedGadgetItem, SelectGadgetItem

