Vega.LfmClasses — Registry der Klassen und Eigenschaften

Welche Klassen darf ein Formular nennen, und welche Eigenschaften haben sie? Delphi löst das über RTTI — Klasse anhand des Namens erzeugen, Eigenschaft anhand des Namens setzen. Lyx hat keine Reflexion, also wird beides zu einer Tabelle, die Vega selbst füllt: mehr Tipparbeit, dafür ehrlich — jede unterstützte Eigenschaft steht sichtbar drin.

Quelldatei: Vega/LfmClasses.lyx

Alle Units · Alle Steuerelemente · Vega VCL


Klassen

Klasse Basis Zweck
TLfmClass Ein Eintrag: Klassenname, Erzeuger, Setzer, Leser

Typaliase

Name Ist Zweck
TLfmCreateFn fn(): TControl Funktion, die eine Instanz dieser Klasse erzeugt
TLfmSetPropFn fn(c: TControl, name: pchar, v: TLfmValue): bool Funktion, die eine Eigenschaft setzt
TLfmGetPropFn fn(c: TControl, name: pchar, v: TLfmValue): bool Funktion, die eine Eigenschaft liest

Konstanten

Name Typ Wert Bedeutung
LFM_MAX_CLASSES int64 128 Höchstzahl registrierter Klassen

Freie Funktionen

Signatur Zweck
LfmKeepString(s: pchar): pchar Zeichenkette dauerhaft ablegen, damit ein Verweis darauf gültig bleibt
RegisterLfmClass(name: pchar, mk: TLfmCreateFn, sp: TLfmSetPropFn, gp: TLfmGetPropFn, propNamen: pchar): bool Klasse mit Erzeuger und Zugriffsfunktionen eintragen
LfmClassByName(name: pchar): TLfmClass Eintrag zu einem Klassennamen
LfmClassCount(): int64 Anzahl der eingetragenen Klassen
LfmAlignOf(s: pchar): int64 Align-Wert aus einem Bezeichner (alTop)
LfmAlignName(v: int64): pchar Bezeichner zu einem Align-Wert
LfmAnchorsOf(v: TLfmValue): int64 Ankermaske aus einer Menge ([akLeft, akRight])
LfmAlignmentOf(s: pchar): int64 Textausrichtung aus einem Bezeichner
LfmCursorOf(s: pchar): int64 Zeigerform aus einem Bezeichner
SetCommonProp(c: TControl, name: pchar, v: TLfmValue): bool Setzt eine Eigenschaft, die jedes Control hat
GetCommonProp(c: TControl, name: pchar, v: TLfmValue): bool Liest eine solche Eigenschaft
LfmCursorName(v: int64): pchar Bezeichner zu einer Zeigerform
LfmAlignmentName(v: int64): pchar Bezeichner zu einer Textausrichtung
InitLfmClasses(): void Trägt alle mitgelieferten Klassen ein — vor dem Laden einmal zu rufen

Zu beachten

  • Ohne InitLfmClasses() kennt der Lader keine einzige Klasse und meldet jede als unbekannt.
  • Eine eigene Controlklasse wird über RegisterLfmClass formularfähig; die gemeinsamen Eigenschaften erledigt SetCommonProp schon.

Abhängigkeiten

Importiert: Vega.Types, Vega.Events, Vega.Canvas, Vega.Theme, Vega.Control, Vega.Font, Vega.Strings, Vega.Lists, Vega.Style, Vega.StdCtrls, Vega.Edits, Vega.ListCtrls, Vega.Extras, Vega.ExtCtrls, Vega.Layout, Vega.Grids, Vega.ListView, Vega.Trees, Vega.LfmValue · Standardbibliothek: std.io

Wird importiert von: Vega.LfmLoad, Vega.LfmSave

Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus Vega/LfmClasses.lyx erhoben.