Hilfe
Parameter
Gadget | Identität eines Objekts |
Titel | Titelbezeichnung |
Auswahl |
0 = nicht auswählen (standard)
1 = auswählen |
Icon | Iconnummer (optional) |
Rückgabewert
-
Beschreibung
Diese Anweisung fügt einen Eintrag zu einem Objekt (gadget) hinzu. Das funktioniert nur mit wenigen Objekten - nur dort, wo es sinnvoll ist. So kann diese Anweisung auf ListBox, ComboBox und Tabber angewendet werden. Mit InsertGadgetItem können Einträge an eine beliebige Position eingefügt 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
ClearGadgetItems, CountGadgetItems, CreateComboBox, CreateListBox, CreateTabber, GadgetItemText, InsertGadgetItem, ModifyGadgetItem, RemoveGadgetItem, SelectedGadgetItem, SelectGadgetItem