ListIconGadget()

Syntax

Ergebnis = ListIconGadget(#Gadget, x, y, Breite, Höhe, ErsterSpaltenTitel$, ErsteSpaltenBreite [, Flags])
Description
Erstellt ein ListIcon-Gadget innerhalb der aktuellen Gadgetliste.

Parameters

#Gadget Eine Nummer, um das neue Gadget zu identifizieren. #PB_Any kann verwendet werden, um diese Nummer automatisch zu generieren.
x, y, Breite, Höhe Die Position und die Abmessungen des neuen Gadgets.
ErsterSpaltenTitel$ Der Titel der ersten Spalte im Gadget. Das Gadget wird mit einer anfänglichen Spalte erstellt.
ErsteSpaltenBreite Die Breite der ersten Spalte im Gadget.
Flags (optional) Flags zum Verändern des Gadget-Verhaltens. Dies kann eine Kombination (verknüpft mit dem bitweisen '|' OR-Operator) der folgenden Konstanten sein:
  #PB_ListIcon_CheckBoxes          : Zeigt Checkboxen (Häkchen-Boxen) in der ersten Spalte.
  #PB_ListIcon_ThreeState          : Die Checkboxen können einen "Dazwischen"-Status haben.
  #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 ü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).
Das #PB_ListIcon_ThreeState Flag kann in Verbindung mit dem #PB_ListIcon_CheckBoxes Flag verwendet werden, um Checkboxen (Häkchen-Boxen) zu erhalten, welche einen "An", "Aus" und "Dazwischen" Status haben können. Der Anwender kann nur die "An"- bzw. "Aus"-Status auswählen. Der "Dazwischen"-Status kann programmseitig mittels der SetGadgetItemState() Funktion gesetzt werden.

Return value

Gibt bei Erfolg einen Wert ungleich Null zurück, oder Null bei einem Fehler. Wenn #PB_Any als #Gadget Parameter verwendet wurde, dann beinhaltet der Rückgabewert bei Erfolg die automatisch generierte Gadget-Nummer.

Remarks

Zu diesem Gadget kann mittels GadgetToolTip() eine 'Mini-Hilfe' hinzugefügt werden.

Sobald ein ListIcon-Gadget erstellt wurde, ist dessen Listeninhalt leer.
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 aktuell im Gadget enthaltenen Einträge.

- GetGadgetItemColor(): Gibt die Text- oder Hintergrundfarbe des Eintrags zurück.
- SetGadgetItemColor(): Ändert die Text- oder Hintergrundfarbe des Eintrags (Hintergrundfarbe nicht auf MacOS X unterstützt).
- 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) Wie bei AddGadgetItem() ist es möglich, den Text für mehrere Spalten mit einmal festzulegen, mittels des Chr(10) Trennzeichens.
- SetGadgetItemImage(): Ändert das aktuelle Bild des angegebenen Eintrags.
- 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 wird die gesamte Auswahl entfernt (nichts ist mehr selektiert).
- GetGadgetAttribute() mit den folgenden Attributen:
  #PB_ListIcon_ColumnCount: Gibt die Anzahl an Spalten im Gadget zurück
  #PB_ListIcon_DisplayMode: Gibt den aktuellen Anzeigemodus des Gadgets zurück (nur auf Windows)
- SetGadgetAttribute() mit den folgenden Attributen:
  #PB_ListIcon_DisplayMode : Ändert den Anzeigemodus des Gadgets (nur auf Windows). Dies 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.
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 das #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 eine Drag & Drop Operation zu starten.

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 die Beispiele.

Example

 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

Example

  ; 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, #PB_Compiler_Home+"Examples\Sources\Data\File.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

See Also

AddGadgetColumn(), RemoveGadgetColumn(), AddGadgetItem(), RemoveGadgetItem(), ClearGadgetItems(), CountGadgetItems(), GetGadgetState(), SetGadgetState(), GetGadgetAttribute(), SetGadgetAttribute(), GetGadgetItemText(), SetGadgetItemText(), SetGadgetItemImage(), GetGadgetItemState(), SetGadgetItemState(), GetGadgetItemData(), SetGadgetItemData(), GetGadgetItemAttribute(), SetGadgetItemAttribute(), GetGadgetColor(), SetGadgetColor(), GetGadgetItemColor(), SetGadgetItemColor(), ExplorerListGadget(), ListViewGadget()

Supported OS

All

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