Das Dach der VCL: hier laufen alle Schichten zusammen. TApplication besitzt das Backend, hält die Zeichenfläche, den Control-Baum und den Dispatcher; TForm ist ein Fenster samt Inhalt; TTimer der Zeitgeber ohne eigenen Systemaufruf. Anwendungen sehen im Alltag nur diese Unit und die Widgets.
Quelldatei: Vega/Forms.lyx
→ Alle Units · Alle Steuerelemente · Vega VCL
| Klasse | Basis | Zweck |
|---|---|---|
| TApplication | — | Hauptschleife, Fensterverwaltung, Zeitgeber, modale Abläufe |
| TForm | TControl | Ein Fenster: Titel, Rahmenart, Position, Fensterzustand, modales Ergebnis |
| TTimer | TComponent | Zeitgeber, von der Schleife über Tick bedient |
| Name | Ist | Zweck |
|---|---|---|
TTimerEvent | fn(sender: TControl): void | Handler eines Zeitgebers |
| Enum | Werte | Zweck |
|---|---|---|
TFormBorderStyle | BS_NONE (0), BS_SINGLE (1), BS_SIZEABLE (2), BS_DIALOG (3), BS_TOOLWINDOW (4), BS_SIZETOOLWIN (5) | Rahmenart des Fensters — eigener Satz, trotz gleicher BS_-Vorsilbe |
TFormPosition | POS_DESIGNED (0), POS_SCREEN_CENTER (1), POS_TOP_LEFT (2), POS_TOP_RIGHT (3), POS_BOTTOM_LEFT (4), POS_BOTTOM_RIGHT (5), POS_MAIN_CENTER (6) | Wo das Fenster aufgeht |
TWindowState | WS_NORMAL (0), WS_MINIMIZED (1), WS_MAXIMIZED (2), WS_FULLSCREEN (3) | Normal, minimiert, maximiert, Vollbild |
| Name | Typ | Wert | Bedeutung |
|---|---|---|---|
VEGA_MAX_TIMERS | int64 | 16 | Höchstzahl der Zeitgeber |
VEGA_IDLE_TIMEOUT_MS | int64 | 50 | Längste Wartezeit der Schleife, wenn nichts ansteht |
VEGA_MONITOR_AUTO | int64 | 0 - 1 | Monitor automatisch wählen |
VEGA_SCREEN_MARGIN | int64 | 0 | Randabstand, den ein Fenster zum Schirmrand hält |
mrNone | int64 | 0 | Modales Ergebnis: noch keins — die Schleife läuft weiter |
mrOk | int64 | 1 | Modales Ergebnis: bestätigt |
mrCancel | int64 | 2 | Modales Ergebnis: abgebrochen |
mrYes | int64 | 3 | Modales Ergebnis: ja |
mrNo | int64 | 4 | Modales Ergebnis: nein |
BI_SYSTEMMENU | int64 | 1 | Titelleiste: Systemmenü (Bitmaske) |
BI_MINIMIZE | int64 | 2 | Titelleiste: Minimieren (Bitmaske) |
BI_MAXIMIZE | int64 | 4 | Titelleiste: Maximieren (Bitmaske) |
BI_HELP | int64 | 8 | Titelleiste: Hilfeknopf (Bitmaske) |
VEGA_MAX_FORMS | int64 | 16 | Höchstzahl gleichzeitiger Fenster |
| Signatur | Zweck |
|---|---|
NewTimer(interval_ms: int64): TTimer | Erzeugt einen Zeitgeber mit diesem Abstand |
NewForm(w: int64, h: int64, caption: pchar): TForm | Erzeugt ein Fenster in dieser Größe mit diesem Titel |
NewApplication(b: IVegaBackend): TApplication | Erzeugt die Anwendung über diesem Backend |
AppOfForm(f: TForm): TApplication | Die Anwendung, zu der dieses Fenster gehört |
AppOfControl(c: TControl): TApplication | Die Anwendung, zu der dieses Control gehört — der Weg zu ShowModal aus einem Handler |
RegisterApp(app: TApplication): void | Die Anwendung als die laufende eintragen |
InitFocusHooks(): void | Trägt die Fokus- und Menühaken ein; beim Start einmal zu rufen |
ShowModal braucht die TApplication. Aus einem Handler führt AppOfControl(sender) dorthin, ohne sie durchzureichen.mrNone ist der Wert, mit dem ein modales Fenster startet — die Schleife läuft, bis er sich ändert.BS_*-Werte hier gehören zu TFormBorderStyle und sind nicht dieselben wie die Rahmenarten der Controls in Vega.Extras; gemeinsam ist nur die Vorsilbe.BorderIcons ist eine Bitmaske aus BI_*; Werkzeugfenster zeigen unabhängig davon nur das Schließen.Tick/NextDueIn), nicht über Systemzeitgeber — eine Anwendung ohne laufende Schleife tickt nicht.
Importiert: Vega.Types, Vega.Events, Vega.Canvas, Vega.Theme, Vega.Component, Vega.Control, Vega.Style, Vega.Chrome, Vega.Dispatch, Vega.Hints, Vega.Actions, Vega.Menus, Vega.Edits, Vega.Backend · Standardbibliothek: std.time
Wird importiert von: Vega.ColorDlg, Vega.Dialogs, Vega.EditBtn, Vega.FileDlg, Vega.FontDlg, Vega.LfmLoad, Vega.LfmSave
Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus Vega/Forms.lyx erhoben.