ListIconGadget()

Syntax

Ergebnis = ListIconGadget(#Gadget, x, y, Breite, Hoehe, Titel$, TitelBreite [, Flags])
Beschreibung
Erstellt ein ListIcon-Gadget innerhalb der aktuellen Gadgetliste.

Wenn #PB_Any als '#Gadget' Parameter verwendet wird, dann wird die Nummer des neuen Gadgets als 'Ergebnis' zurückgegeben. '#Gadget' ist die Nummer, die (später) von der EventGadget() Funktion zurückgegeben wird.

'Titel$' ist der Titel der ersten Spalte und 'TitelBreite' seine ursprüngliche Breite. Sobald ein ListIcon erstellt wurde, ist seine Liste mit Einträgen leer.

'Flags' sind immer optional und können sich aus einer oder mehreren der folgenden Konstanten (verknüpft mit dem '|' OR-Operator) zusammensetzen:
  #PB_ListIcon_CheckBoxes          : Zeigt Checkboxen in der ersten Spalte.
  #PB_ListIcon_MultiSelect         : Schaltet die Mehrfach-Selektion ein.
  #PB_ListIcon_GridLines           : Zeigt Separator-Linien zwischen Zeilen und Spalten an. (nicht unterstützt auf Mac OSX)
  #PB_ListIcon_FullRowSelect       : Die Auswahl erfolgt damit über die gesamte Zeile anstelle nur der ersten Spalte (nur auf Windows).
  #PB_ListIcon_HeaderDragDrop      : Die Reihenfolge der Spalten kann per Drag'n'Drop verändert werden.
  #PB_ListIcon_AlwaysShowSelection : Die Auswahl ist noch sichtbar, auch wenn das Gadget nicht aktiv ist (nur auf Windows).
Zu diesem Gadget kann mittels GadgetToolTip() eine 'Mini-Hilfe' hinzugefügt werden.

Die folgenden Befehle können zum Zugriff auf den Listeninhalt benutzt werden:

- AddGadgetColumn(): Fügt eine Spalte zum Gadget hinzu.
- RemoveGadgetColumn(): Entfernt eine Spalte vom Gadget.
- AddGadgetItem(): Fügt einen Eintrag (mit optionalem Bild in der 16x16 Standard Icon-Größe) hinzu
- RemoveGadgetItem(): Entfernt einen Eintrag
- ClearGadgetItems(): Entfernt alle Einträge
- CountGadgetItems(): Ermittelt die Anzahl der aktuellen Einträge im #Gadget.

- GetGadgetItemColor(): Gibt die Text- oder Hintergrundfarbe des Eintrags zurück.
- SetGadgetItemColor(): Ändert die Text- oder Hintergrundfarbe des Eintrags.
- GetGadgetItemData(): Gibt den Wert zurück, welcher mit dem Eintrag gespeichert wurde.
- SetGadgetItemData(): Speichert einen Wert mit dem Eintrag.
- GetGadgetItemState(): Ermittelt den aktuellen Status des angegebenen Eintrags.
- SetGadgetItemState(): Ändert den aktuellen Status des angegebenen Eintrags.
- GetGadgetItemText(): Ermittelt den aktuellen Text des angegebenen Eintrags. (oder den Spalten-Titel, wenn 'Eintrag' = -1)
- SetGadgetItemText(): Ändert den aktuellen Text des angegebenen Eintrags. (oder den Spalten-Titel, wenn 'Eintrag' = -1)
- GetGadgetState(): Gibt den ersten ausgewählten Eintrag zurück, oder -1 wenn kein Eintrag selektiert ist.
- SetGadgetState(): Ändert den ausgewählten Eintrag (alle anderen selektierten Einträge verlieren ihre Markierung). Wird -1 angegeben, dann werden keine Einträge mehr selektiert.
- GetGadgetAttribute() / SetGadgetAttribute(): Mit den folgenden Attributen:
  #PB_ListIcon_DisplayMode : Ermittelt bzw. ändert den Anzeigemodus des Gadgets. Kann eine der folgenden Konstanten sein: (nur auf Windows)
    - #PB_ListIcon_LargeIcon : großer Icon-Modus
    - #PB_ListIcon_SmallIcon : kleiner Icon-Modus
    - #PB_ListIcon_List      : Listen-Icon-Modus
    - #PB_ListIcon_Report    : Report-Modus (Spalten, Standardmodus)

- GetGadgetItemAttribute() / SetGadgetItemAttribute(): Mit den folgenden Attributen:
  #PB_ListIcon_ColumnWidth : Gibt die Breite der angegebenen 'Spalte' zurück bzw. ändert diese. Der Parameter
                                     'Eintrag' wird ignoriert.

Wenn Sie mittels AddGadgetItem() zu einem ListIcon mit mehreren Spalten Inhalte hinzufügen möchten, verwenden Sie das Format "Erste Spalte"+Chr(10)+"Zweite Spalte" als Text$ Parameter. Siehe hierzu auch das untere Beispiel.

Dieses Gadget unterstützt die SetGadgetColor() und GetGadgetColor() Befehle mit den folgenden Werten als 'FarbTyp':
  #PB_Gadget_FrontColor: Textfarbe
  #PB_Gadget_BackColor : Hintergrundfarbe
  #PB_Gadget_LineColor : Farbe der Gitterlinien, wenn der #PB_ListIcon_GridLines Flag verwendet wird.
Die folgenden Ereignisse ("Events") werden durch EventType() unterstützt:
  #PB_EventType_LeftClick : linker Mausklick auf einen Eintrag, oder ein Häkchen wurde gesetzt/entfernt
  #PB_EventType_LeftDoubleClick
  #PB_EventType_RightClick
  #PB_EventType_RightDoubleClick
  #PB_EventType_Change : der aktuelle Eintrag wurde verändert
  #PB_EventType_DragStart : der Anwender versucht, eine Drag & Drop Operation zu starten
Nach einem #PB_EventType_DragStart Ereignis kann die Drag & Drop Library verwendet werden, um die Drag & Drop Operation zu starten.

Beispiel 1:
 If OpenWindow(0, 100, 100, 300, 100, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   ListIconGadget(0, 5, 5, 290, 90, "Name", 100, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
   AddGadgetColumn(0, 1, "Address", 250)
   AddGadgetItem(0, -1, "Harry Rannit"+Chr(10)+"12 Parliament Way, Battle Street, By the Bay")
   AddGadgetItem(0, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road, BigTown, CodeCity")
   Repeat
     Event = WaitWindowEvent()
   Until Event = #PB_Event_CloseWindow
 EndIf
Beispiel 2:
  ; Zeigt mögliche Flags des ListIconGadgets in Aktion...
  If OpenWindow(0, 0, 0, 640, 300, "ListIconGadgets", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ; linke Spalte
    TextGadget    (6,  10,  10, 300, 20, "ListIcon Standard", #PB_Text_Center)
    ListIconGadget(0,  10,  25, 300, 70, "Column 1", 100)
    TextGadget    (7,  10, 105, 300, 20, "ListIcon with Checkbox", #PB_Text_Center)
    ListIconGadget(1,  10, 120, 300, 70, "Column 1", 100, #PB_ListIcon_CheckBoxes)  ; ListIcon mit Checkbox
    TextGadget    (8,  10, 200, 300, 20, "ListIcon with Multi-Selection", #PB_Text_Center)
    ListIconGadget(2,  10, 215, 300, 70, "Column 1", 100, #PB_ListIcon_MultiSelect) ; ListIcon mit Mehrfachselektion
    ; rechte Spalte
    TextGadget    (9, 330,  10, 300, 20, "ListIcon with separator lines",#PB_Text_Center)
    ListIconGadget(3, 330,  25, 300, 70, "Column 1", 100, #PB_ListIcon_GridLines)
    TextGadget   (10, 330, 105, 300, 20, "ListIcon with FullRowSelect and AlwaysShowSelection",#PB_Text_Center)
    ListIconGadget(4, 330, 120, 300, 70, "Column 1", 100, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
    TextGadget   (11, 330, 200, 300, 20, "ListIcon Standard with large icons",#PB_Text_Center)
    ListIconGadget(5, 330, 220, 300, 65, "", 200,#PB_ListIcon_GridLines)
    For a = 0 To 4            ; fügt Spalten zu jedem der ersten 5 ListIcons hinzu
      For b = 2 To 4          ; fügt 3 weitere Spalten zu jedem ListIcon hinzu
        AddGadgetColumn(a, b, "Column " + Str(b), 65)
      Next
      For b = 0 To 2          ; fügt 4 Einträge auf jeder Zeile der ListIcons hinzu
        AddGadgetItem(a, b, "Item 1"+Chr(10)+"Item 2"+Chr(10)+"Item 3"+Chr(10)+"Item 4")
      Next
    Next
    ; Hier ändern wir die Anzeige des ListIcons in große Icons und zeigen ein Bild an
    If LoadImage(0, "map2.bmp")     ; ändern Sie Pfad/Dateiname für Ihr eigenes 32x32 Pixel Bild
      SetGadgetAttribute(5, #PB_ListIcon_DisplayMode, #PB_ListIcon_LargeIcon)
      AddGadgetItem(5, 1, "Picture 1", ImageID(0))
      AddGadgetItem(5, 2, "Picture 2", ImageID(0))
    EndIf  
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf

Unterstützte OS

Alle

<- IsGadget() - Gadget Inhaltsverzeichnis - ListViewGadget() ->