====== Vega.LfmLoad — Vom Baum zu lebenden Controls ====== Die Stelle, an der aus Text eine Oberfläche wird. Der Lader braucht drei Dinge, die Delphi aus der RTTI zieht: Klasse aus dem Namen erzeugen und Eigenschaft aus dem Namen setzen ([[lyx_-_programmiersprache:vega:units:lfmclasses|Vega.LfmClasses]]) — und **Handler aus dem Namen finden**, das steht hier. Quelldatei: ''Vega/LfmLoad.lyx'' → [[lyx_-_programmiersprache:vega:units|Alle Units]] · [[lyx_-_programmiersprache:vega:controls|Alle Steuerelemente]] · [[lyx_-_programmiersprache:vega|Vega VCL]] ---- ===== Klassen ===== ^ Klasse ^ Basis ^ Zweck ^ | ''TLfmLoader'' | — | Der Lader: erzeugt Controls, setzt Eigenschaften, hängt Handler an | | ''TLfmResult'' | — | Ergebnis: Wurzel-Control, Meldungen, Fehler mit Zeilennummer | ===== Freie Funktionen ===== ^ Signatur ^ Zweck ^ | ''RegisterNotify(name: pchar, f: TNotifyEvent): bool'' | Handler vom Typ ''TNotifyEvent'' unter seinem Namen eintragen | | ''RegisterMouse(name: pchar, f: TMouseEvent): bool'' | Maus-Handler eintragen | | ''RegisterKey(name: pchar, f: TKeyEvent): bool'' | Tasten-Handler eintragen | | ''RegisterChar(name: pchar, f: TCharEvent): bool'' | Zeichen-Handler eintragen | | ''RegisterWheel(name: pchar, f: TWheelEvent): bool'' | Mausrad-Handler eintragen | | ''RegisterPaint(name: pchar, f: TPaintEvent): bool'' | Zeichen-Handler (''OnPaint'') eintragen | | ''LfmHandlerCount(): int64'' | Anzahl eingetragener Handler | | ''LfmHandlerName(adr: int64): pchar'' | Name eines eingetragenen Handlers | | ''LfmEventAddr(c: TControl, name: pchar): int64'' | Adresse zu einem Handlernamen | | ''LfmClassEvents(klasse: pchar): pchar'' | Welche Ereignisse eine Klasse kennt | | ''LfmClassEventAddr(c: TControl, name: pchar): int64'' | Adresse des Feldes für ein Ereignis dieser Klasse | | ''NewLfmLoader(): TLfmLoader'' | Erzeugt einen Lader | | ''InitLfmForm(): void'' | Lädt eine Formulardatei in ein fertiges Fenster | ---- ===== Zu beachten ===== * Jeder Handler, den eine Formulardatei nennt, muss vorher eingetragen sein — sonst bleibt das Ereignis leer und der Lader meldet es. * Eingetragen wird die **freie Funktion**, nicht eine Methode: ''RegisterNotify("EndeKlick", EndeKlick)''. * Der Guide [[lyx_-_programmiersprache:vega:guides:lfm|LFM]] zeigt den ganzen Weg von der Datei bis zum laufenden Fenster. ---- ===== 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:backend|Vega.Backend]], [[lyx_-_programmiersprache:vega:units:forms|Vega.Forms]], [[lyx_-_programmiersprache:vega:units:lfmvalue|Vega.LfmValue]], [[lyx_-_programmiersprache:vega:units:lfmparse|Vega.LfmParse]], [[lyx_-_programmiersprache:vega:units:lfmclasses|Vega.LfmClasses]] · Standardbibliothek: ''std.io'' **Wird importiert von:** [[lyx_-_programmiersprache:vega:units:lfmsave|Vega.LfmSave]] Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus ''Vega/LfmLoad.lyx'' erhoben.