Hilfe

ModifyGadgetItem

B+

Aufruf

ModifyGadgetItem gadget, index, text$ [,icon]

Parameter

gagdet Identität eines Objekts
index Indexnummer des Eintrags (ab 0)
title Titelbezeichnung
icon Iconnummer (optional)


Rückgabewert

-


Beschreibung

Diese Anweisung ändert die Bezeichnung eines Eintrages. Das funktioniert nur mit wenigen Objekten - nur dort, wo es sinnvoll ist. So kann diese Anweisung auf ListBox, ComboBox und Tabber angewendet werden. Die Funktion GadgetItemText liefert die aktuelle Bezeichnung eines Eintrags.


Beispiel

Dieses komplexe Beispiel zeigt den Umgang mit Listboxen, Comboboxen und Tabbern:

window = CreateWindow("Umgang mit Listen-artigen Objekten", 50, 50, 300, 250, 0, 1 + 32)

; 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, CountGadgetItems, CreateComboBox, CreateListBox, CreateTabber, GadgetItemText, InsertGadgetItem, RemoveGadgetItem, SelectedGadgetItem, SelectGadgetItem

Übersicht GUI Listen & Registerkarten