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
Vererbung
Kette: TComponent → TImageList
Direkte Nachfahren: keine — diese Klasse wird nicht weiter abgeleitet.
Quelle: vega/images.lyx
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
Addlegt 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-1bei leerem Bild.- Die Kopien gehören der Liste:
Delete,ClearundDestroygeben sie frei. AddStripverlangt, dass die Höhe des Streifens der Listenhöhe entspricht, sonst tut es nichts. Es liefert die Anzahl der neuen Symbole, nicht deren Stelle.DrawDisabledhalbiert die Deckkraft, statt einen zweiten Symbolsatz zu verlangen — das sieht bei jedem Symbol richtig aus und spart Pflege.- Ein
indexaußerhalb 0..Count()-1 zeichnet nichts.
Letzte Aktualisierung: 2026-09-05 — gegen lyx-vcl/vega/*.lyx abgeglichen: Abschnitt „Vererbung„ (Vorfahr-Kette, direkte Nachfahren, Quelldatei) ergänzt und die fehlenden Eigenschaften, Methoden und Ereignisse nachgetragen.
Vorherige 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 | Untereinträ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 |
AddImages(other: TImageList): int64 | Alle Bilder einer anderen Liste übernehmen | eigen |
AddMasked(b: TBitmap, maske: TColor): int64 | Ein Bild mit Maskenfarbe aufnehmen: alle Punkte dieser Farbe werden durchsichtig. Delphis AddMasked — der übliche Weg für Symbole, die aus einer Datei ohne Alphakanal kommen | eigen |
Assign(other: TImageList): void | Inhalt und Größe einer anderen Liste übernehmen; der eigene wird vorher freigegeben | eigen |
BeginUpdate(): void | Änderungen buendeln: zwischen BeginUpdate und EndUpdate meldet die Liste nichts. Ohne das feuert OnChange bei jedem einzelnen Bild | eigen |
Changed(): void | Meldet, dass sich der Inhalt geaendert hat | eigen |
EndUpdate(): void | Beendet die Sammeländerung und zeichnet einmal neu | eigen |
Exchange(a: int64, b: int64): void | Zwei Bilder tauschen und eines verschieben — Delphis Move | eigen |
GetBitmap(index: int64, dst: TBitmap): bool | Eine Kopie eines Bildes herausgeben — Delphis GetBitmap. Die Liste gibt ihr eigenes NICHT heraus, sonst haette der Aufrufer einen Verweis auf etwas, das sie beim nächsten … | eigen |
Insert(index: int64, b: TBitmap): int64 | Ein Bild an einer bestimmten Stelle einsetzen. Wie Add wird es auf die Listengroesse gebracht | eigen |
Move(von: int64, nach: int64): void | Verschiebt das Bild von von nach nach | eigen |
Replace(index: int64, b: TBitmap): bool | Ein vorhandenes Bild ersetzen. Das alte wird freigegeben — die Liste besitzt ihre Bilder | eigen |
SetSize(w: int64, h: int64): void | Größe ändern. Die vorhandenen Bilder werden mitskaliert, statt sie wegzuwerfen — in Delphi bleiben sie ebenfalls erhalten | eigen |
StretchDraw(canvas: TCanvas, r: TRect, index: int64): void | In ein Rechteck gezogen zeichnen — Delphis StretchDraw | eigen |
Updating(): bool | Ob gerade eine Sammeländerung läuft | 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.
OnChange | TNotifyEvent | Wer sich für Änderungen der Liste interessiert — in Delphi hängen daran die Controls, die aus ihr zeichnen | eigen |
