Inhaltsverzeichnis

TGridPanel — Kinder in einem Raster

Ein TPanel, das seine Kinder in Zeilen und Spalten setzt. Die Bänder — ColumnCollection und RowCollection — legen fest, wie breit bzw. hoch jede Spur ist: fest in Pixeln oder anteilig am verbleibenden Platz.

Unit: vega.extctrls · Basis: TPanel

Alle Steuerelemente · Klassenbaum · Guide: Komponenten


Vererbung

Kette: TComponentTControlTPanelTGridPanel

Direkte Nachfahren: keine — diese Klasse wird nicht weiter abgeleitet.

Quelle: vega/extctrls.lyx


Verwendung

var gp: TGridPanel := new TGridPanel();
gp.SetBounds(8, 8, 400, 160);
gp.SetCellSpacing(4);
gp.SetParent(f);

// zwei Spalten: erste fest, zweite nimmt den Rest
gp.ColumnCollection.AddBand(BAND_ABSOLUTE, 120);
gp.ColumnCollection.AddBand(BAND_PERCENT, 100);
gp.RowCollection.AddBand(BAND_ABSOLUTE, 28);
gp.RowCollection.AddBand(BAND_ABSOLUTE, 28);

var l: TLabel := new TLabel("Name");
l.SetParent(gp as TControl);
gp.ControlCollection.SetPosition(l as TControl, 0, 0);   // Spalte, Zeile

Wie beim TFlowPanel gilt: die Position der Kinder bestimmt das Panel, nicht das Kind.


Besonderheiten


Eigenschaften

Alle Eigenschaften, auch die geerbten.

Name Typ Bedeutung Herkunft
ComponentState int64 Zustand als Bitmaske (csLoading, csDestroying …) TComponent
ComponentStyle int64 Stil als Bitmaske; Vorgabe csInheritable TComponent
Name pchar Name der Komponente — für FindComponent und beim Laden aus LFM TComponent
OwnedComponents TObjectList Die Komponenten, die DIESER gehoeren. Delphis Components[]. Zeigerliste, keine Kopien: TObjectList hält int64-Adressen TComponent
Owner TComponent Wer diese Komponente wegraeumt. Nicht der Elternteil im Zeichenbaum — das ist bei TControl `Parent` TComponent
Tag int64 Freier Wert für eigene Zwecke; die Bibliothek fasst ihn nicht an TComponent
Alignment int64 Beschriftung mittig auf der Flaeche, wie in Delphi TPanel
BevelColor TColor Eigene Kantenfarbe. Durchsichtig heißt „Farben des Themes nehmen“ — hell oben links, dunkel unten rechts TPanel
BevelInner int64 Innere Kante: erhaben, vertieft oder keine TPanel
BevelOuter int64 Delphis Kanten: aussen, innen, Breite jeder Kante, Abstand dazwischen TPanel
BevelWidth int64 Breite der Kanten in Pixeln TPanel
Border int64 Der aeltere Vega-Rahmen. Er bleibt, weil bestehende Formulare ihn setzen; PB_RAISED/PB_SUNKEN sind dasselbe wie BevelOuter, PB_SINGLE ist eine Linie, die Delphi so nicht kennt TPanel
ParentBackground bool Hintergrund nicht selbst fuellen, sondern den des Elternteils nehmen TPanel
ShowAccelChar bool & im Text als Tastenkürzel deuten statt anzuzeigen TPanel
TextLayout int64 Senkrechte Ausrichtung der Beschriftung TPanel
CellSpacing int64 Abstand zwischen den Zellen eigen
ColumnCollection TGridPanelBands Die Spalten des Rasters eigen
ControlCollection TGridPanelControls Zuordnung Kind → Zelle eigen
RowCollection TGridPanelBands Die Zeilen des Rasters eigen

Methoden

Alle Methoden, auch die geerbten.

Signatur Zweck Herkunft
ClearState(bits: int64): void Zustandsbits löschen TComponent
ComponentCount(): int64 Anzahl der eigenen Komponenten TComponent
ComponentIndex(): int64 Delphis ComponentIndex: der eigene Platz in der Liste des Besitzers TComponent
Components(index: int64): TComponent Eigene Komponente an dieser Stelle TComponent
Destroy(): void Raeumt die eigene Liste ab, aber NICHT die Einträge — welche Komponenten ihre Besitztuemer mitnehmen, entscheidet die Ableitung über DestroyComponents() TComponent
DestroyComponents(): void Baut die Besitztuemer ab. Von hinten, weil jedes Destroy() sich selbst aus der Liste austraegt TComponent
FindComponent(name: pchar): TComponent Sucht unter den EIGENEN Komponenten, eine Ebene tief — wie in Delphi TComponent
GetName(): pchar Namen lesen TComponent
GetNamePath(): pchar Der eigene Name. Delphi hängt bei Unterkomponenten den des Besitzers davor; Vega hat keine, also ist es der Name selbst TComponent
GetTag(): int64 Tag lesen TComponent
HasState(bits: int64): bool Sind diese Zustandsbits gesetzt TComponent
InitComponent(): void Kein Konstruktor: lyxc vererbt Konstruktoren nicht, jede Ableitung ruft InitComponent() im eigenen Create() 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
SetName(v: pchar): void Setzt Name TComponent
SetState(bits: int64): void Zustand setzen TComponent
SetTag(v: int64): void Setzt Tag TComponent
BorderStyle(): int64 Delphis BorderStyle kennt genau zwei Werte: kein Rahmen oder eine Linie. Das ist ein Ausschnitt aus Border (PB_*), und beide zeigen hier auf dasselbe Feld TPanel
ContentRect(): TRect Die Flaeche innerhalb aller Kanten und Raender. Dahin gehört die Beschriftung — und wer Kinder von Hand setzt, rechnet damit. BorderWidth ist das geerbte Feld von TControl; die … TPanel
Create(): void Anlegen; new TGridPanel() TPanel
SetAlignment(v: int64): void Setzt Alignment TPanel
SetBevelColor(v: TColor): void Setzt BevelColor TPanel
SetBevelInner(v: int64): void Setzt BevelInner TPanel
SetBevelOuter(v: int64): void Setzt BevelOuter TPanel
SetBevelWidth(v: int64): void Setzt BevelWidth TPanel
SetBorderStyle(v: int64): void Fensterrahmen setzen TPanel
SetCaptionText(s: pchar): void Text setzen und neu zeichnen TPanel
SetTextLayout(v: int64): void Setzt TextLayout TPanel
AddCellChild(c: TControl, col: int64, row: int64): TGridPanelControl Ein Kind aufnehmen und in eine Zelle setzen eigen
ArrangeGrid(): void Jedes eingetragene Kind auf seine Zelle setzen. Kinder ohne Eintrag oder mit einer Zelle außerhalb des Rasters bleiben, wo sie sind — siehe Kopf, Abschnitt ExpandStyle eigen
CellRect(col: int64, row: int64): TRect Das Rechteck einer Zelle, in Koordinaten der Flaeche eigen
ColumnCount(): int64 Zahl der Spalten eigen
ColumnWidth(i: int64): int64 Breite einer Spalte. Bei einer Spalte ist das die ganze Flaeche eigen
Create(): void Anlegen; new TGridPanel() eigen
Destroy(): void Gibt eigene Ressourcen frei eigen
RowCount(): int64 Zahl der Zeilen eigen
RowHeight(i: int64): int64 Höhe einer Zeile eigen
SetGridSize(cols: int64, rows: int64): void Ein gleichmaessiges Raster aufspannen — der haeufigste Fall, und ohne ihn muesste jeder Aufrufer zwei Schleifen schreiben eigen

Letzte Aktualisierung: 2026-09-05 — Seite neu angelegt; erhoben aus vega/extctrls.lyx im Repo lyx-vcl.