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
RegisterLfmClassformularfähig; die gemeinsamen Eigenschaften erledigtSetCommonPropschon.
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.
