====== 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'' → [[lyx_-_programmiersprache:vega:units|Alle Units]] · [[lyx_-_programmiersprache:vega:controls|Alle Steuerelemente]] · [[lyx_-_programmiersprache:vega|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'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|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:** [[lyx_-_programmiersprache:vega:units:types|Vega.Types]], [[lyx_-_programmiersprache:vega:units:events|Vega.Events]], [[lyx_-_programmiersprache:vega:units:canvas|Vega.Canvas]], [[lyx_-_programmiersprache:vega:units:theme|Vega.Theme]], [[lyx_-_programmiersprache:vega:units:control|Vega.Control]], [[lyx_-_programmiersprache:vega:units:font|Vega.Font]], [[lyx_-_programmiersprache:vega:units:strings|Vega.Strings]], [[lyx_-_programmiersprache:vega:units:lists|Vega.Lists]], [[lyx_-_programmiersprache:vega:units:style|Vega.Style]], [[lyx_-_programmiersprache:vega:units:stdctrls|Vega.StdCtrls]], [[lyx_-_programmiersprache:vega:units:edits|Vega.Edits]], [[lyx_-_programmiersprache:vega:units:listctrls|Vega.ListCtrls]], [[lyx_-_programmiersprache:vega:units:extras|Vega.Extras]], [[lyx_-_programmiersprache:vega:units:extctrls|Vega.ExtCtrls]], [[lyx_-_programmiersprache:vega:units:layout|Vega.Layout]], [[lyx_-_programmiersprache:vega:units:grids|Vega.Grids]], [[lyx_-_programmiersprache:vega:units:listview|Vega.ListView]], [[lyx_-_programmiersprache:vega:units:trees|Vega.Trees]], [[lyx_-_programmiersprache:vega:units:lfmvalue|Vega.LfmValue]] · Standardbibliothek: ''std.io'' **Wird importiert von:** [[lyx_-_programmiersprache:vega:units:lfmload|Vega.LfmLoad]], [[lyx_-_programmiersprache:vega:units:lfmsave|Vega.LfmSave]] Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus ''Vega/LfmClasses.lyx'' erhoben.