TFrame — wiederverwendbarer Ausschnitt

Ein Ausschnitt einer Oberfläche, der als Ganzes wiederverwendet wird: eine Gruppe von Steuerelementen mit eigener Logik, die sich in mehrere Fenster einhängen lässt. In Delphi der Baustein zwischen Steuerelement und Formular.

Unit: vega.forms · Basis: TControl

Alle Steuerelemente · Klassenbaum · Guide: Komponenten


Vererbung

Kette: TComponentTControlTFrame

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

Quelle: vega/forms.lyx


Verwendung

var fr: TFrame := new TFrame();
fr.SetBounds(0, 0, 300, 120);
fr.SetParent(f);

// Inhalt wie in einem Formular aufbauen:
var l: TLabel := new TLabel("Adresse");
l.SetParent(fr as TControl);

Oder aus einer Datei, wenn der Aufbau als LFM vorliegt — dann steht die Herkunft in LfmPath.


Besonderheiten

  • ParentBackground ist standardmäßig an. Ein Ausschnitt soll aussehen, als gehöre er dorthin, wo er eingehängt wird — also nimmt er die Farbe des Elternteils an, statt selbst zu füllen.
  • Border gibt es trotzdem, wie beim TPanel: meist keiner, aber ein Frame in einem Einstellungsdialog braucht manchmal eine Kante.
  • Ein Frame ist kein Fenster. Er hat keinen Rahmen, keine Titelzeile und kein ShowModal — er wird immer in etwas anderes eingehängt.

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
Border int64 Rahmen wie bei TPanel — meist keiner, aber ein Frame in einem Einstellungsdialog braucht manchmal eine Kante eigen
FrameFile pchar Woher der Bauplan stammt. Leer, solange der Frame von Hand gebaut wird; das LFM-Format traegt hier später seinen Dateinamen ein eigen
ParentBackground bool Nimmt die Farbe des Elternteils an, statt selbst zu fuellen. Vorgabe true: ein Ausschnitt soll aussehen, als gehoere er dorthin, wo er eingehaengt wird 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
Create(): void Anlegen; new TFrame() eigen
InitFrame(): void Kein Konstruktor mit Inhalt: Konstruktoren werden nicht vererbt, und eine Ableitung soll genau eine Zeile brauchen eigen
SetBorder(v: int64): void Setzt Border eigen
SetFrameFile(s: pchar): void Setzt FrameFile eigen
SetParentBackground(v: bool): void Setzt ParentBackground eigen

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