TImageList — Sammlung gleich großer Symbole

Hält einen Satz Symbole in einheitlicher Größe — für Werkzeugleisten, Listen und Bäume. Kein Steuerelement, sondern ein reiner Behälter mit Zeichenmethoden — sie hängt darum direkt an TComponent.

Unit: Vega.Images · Basis: TComponent

Alle Steuerelemente · Guide: Zeichnen


Verwendung

var il: TImageList := new TImageList(16, 16);

var s: TBitmap := new TBitmap();
s.SetSize(16, 16);
s.Clear(RGB(0, 128, 0));
Print(IntToStr(il.Add(s)));        // 0 — Stelle des Symbols
Print(IntToStr(il.Count()));       // 1

// ganze Symbolsätze am Stück
il.AddStripFromFile("symbole.png");   // n Symbole nebeneinander

// zeichnen
il.Draw(canvas, 4, 4, 0);
il.DrawDisabled(canvas, 24, 4, 0);    // blass, für gesperrte Knöpfe


Besonderheiten

  • Add legt immer eine Kopie in Listengröße an — passt die Größe nicht, wird skaliert. Das übergebene Bitmap bleibt dem Aufrufer, der es weiterbenutzen oder freigeben darf. Rückgabe ist die Stelle oder -1 bei leerem Bild.
  • Die Kopien gehören der Liste: Delete, Clear und Destroy geben sie frei.
  • AddStrip verlangt, dass die Höhe des Streifens der Listenhöhe entspricht, sonst tut es nichts. Es liefert die Anzahl der neuen Symbole, nicht deren Stelle.
  • DrawDisabled halbiert die Deckkraft, statt einen zweiten Symbolsatz zu verlangen — das sieht bei jedem Symbol richtig aus und spart Pflege.
  • Ein index außerhalb 0..Count()-1 zeichnet nichts.

Letzte Aktualisierung: 2026-08-20 — API maschinell aus Vega/Images.lyx erhoben, Beispiel mit lyxc 1.1.3O übersetzt.

Eigenschaften

Alle Eigenschaften, auch die geerbten.

Name Typ Bedeutung Herkunft
Width int64 Breite eigen
Height int64 Höhe eigen
Items TObjectList Die Einträge eigen
Owner TComponent Wer diese Komponente wegräumt — nicht das Elternteil im Zeichenbaum TComponent
OwnedComponents TObjectList Die Komponenten, die dieser gehören (Delphis Components[]) TComponent
Name pchar Name der Komponente, für FindComponent und Formulardateien TComponent
Tag int64 Freier Wert für die Anwendung TComponent
ComponentState int64 Zustand als Bitmaske: csLoading, csDestroying, csDesigning TComponent
ComponentStyle int64 Stil als Bitmaske; Vorgabe csInheritable TComponent

Methoden

Alle Methoden, auch die geerbten.

Signatur Zweck Herkunft
Create(w: int64, h: int64): void Konstruktor eigen
Destroy(): void Gibt eigene Ressourcen frei eigen
Clear(): void Leeren — bei TBitmap die Fläche mit c füllen eigen
Count(): int64 Zahl der Einträge eigen
At(i: int64): TBitmap Symbol an dieser Stelle eigen
Add(b: TBitmap): int64 Eintrag anhängen eigen
AddFromFile(path: pchar): int64 Bild laden und als Symbol anhängen eigen
AddStrip(b: TBitmap): int64 Waagerechten Streifen in gleich große Symbole zerlegen und alle anhängen; liefert die Anzahl eigen
AddStripFromFile(path: pchar): int64 Streifen aus einer Datei laden und zerlegen eigen
Delete(i: int64): void Eintrag entfernen eigen
Draw(canvas: TCanvas, x: int64, y: int64, index: int64): void Symbol index an x,y zeichnen eigen
DrawDisabled(canvas: TCanvas, x: int64, y: int64, index: int64): void Symbol blass zeichnen — halbe Deckkraft statt zweitem Symbolsatz eigen
InitComponent(): void Grundzustand herstellen — von jeder Ableitung im Create zu rufen, da Lyx Konstruktoren nicht vererbt TComponent
ComponentCount(): int64 Anzahl der eigenen Komponenten TComponent
Components(index: int64): TComponent Eigene Komponente an dieser Stelle TComponent
ComponentIndex(): int64 Eigener Platz in der Liste des Besitzers, -1 ohne Besitzer TComponent
InsertComponent(c: TComponent): void Komponente in Besitz nehmen; ein bisheriger Besitzer gibt sie ab TComponent
RemoveComponent(c: TComponent): void Komponente aus dem Besitz nehmen TComponent
FindComponent(name: pchar): TComponent Eigene Komponente über ihren Name suchen — eine Ebene tief TComponent
DestroyComponents(): void Alle Besitztümer abbauen, von hinten nach vorn TComponent
SetName(v: pchar): void Namen setzen TComponent
GetName(): pchar Namen lesen TComponent
SetTag(v: int64): void Tag setzen TComponent
GetTag(): int64 Tag lesen TComponent
HasState(bits: int64): bool Sind diese Zustandsbits gesetzt TComponent
SetState(bits: int64): void Zustandsbits setzen TComponent
ClearState(bits: int64): void Zustandsbits löschen TComponent
HasParent(): bool Hängt die Komponente in einem Baum TComponent
GetParentComponent(): TComponent Übergeordnete Komponente im Baum TComponent
GetNamePath(): pchar Voller Name für Formulardateien; in Vega der Name selbst TComponent
Tick(now: int64): bool Einmal je Bild aus der Fensterschleife; true = es hat sich etwas getan, also neu zeichnen TComponent
NextDueIn(now: int64): int64 Wie lange die Schleife höchstens schlafen darf, bis diese Komponente wieder dran ist; -1 = nie von selbst TComponent

Ereignisse

Keine.

Letzte Aktualisierung: 2026-08-20 — API maschinell aus Vega/Images.lyx erhoben, Beispiel mit lyxc 1.1.3O übersetzt.