Phase 4: Formularmodell und Objektsprache
This commit is contained in:
@@ -4,6 +4,14 @@ Rekonstruierte Referenz der Forms-Engine des Vorbilds (VBDOS 1.0) —
|
||||
Grundlage für `tb-ui::forms` und den Formular-Designer. Primärquellen:
|
||||
Original-Hilfedatei (dekodiert), `CONSTANT.BI`, Stringtabellen der
|
||||
Original-Programme, Beispielprojekte. Aussagen ohne TODO sind daraus belegt.
|
||||
Die zeilenweise Matrix mit Typ, Bereich, Vorgabe, Laufzeit-Schreibbarkeit
|
||||
und Klassenquelle liegt im Change-Dokument
|
||||
`openspec/changes/phase-4-objektmodell/klassen-und-eigenschaften.md`.
|
||||
Als Beispiel-Gegenprobe dient `cout/vbdos` Commit
|
||||
`1cdd2b32b829fe1721d0b6aecc433abc47a96fb6`; dessen binäre Formulare
|
||||
`microsoft/check.frm`, `notepad.frm`, `qlbview.frm`, `seek.frm`,
|
||||
`spindemo.frm`, `graphics/graphics.frm` und `misc/mentors/mentors.frm`
|
||||
enthalten die dort ausgewiesenen Eigenschaften und Ereignisprozeduren.
|
||||
|
||||
## Koordinatenmodell
|
||||
|
||||
@@ -135,6 +143,9 @@ DragOver-State 0 Enter · 1 Leave · 2 Over. Bei Steuerelement-Arrays steht
|
||||
`Index AS INTEGER` immer vorn. KeyAscii ist bei uns ein Unicode-Codepoint
|
||||
(UTF-8-Abweichung); klassische KeyCode-Konstanten bleiben gültig
|
||||
(Vorbild-Eigenheit: Entf = 127).
|
||||
Ereignisse ohne eine der oben genannten Argumentfamilien haben keine
|
||||
Parameter. Bei Arrays wird ausschließlich `Index AS INTEGER` vorangestellt;
|
||||
die restliche Signatur bleibt unverändert.
|
||||
|
||||
## SCREEN-Objekt
|
||||
|
||||
@@ -154,7 +165,8 @@ Modal-Stacking-Regeln → Fehler 400–403 (u. a. „MDI form cannot be shown
|
||||
modally"). `HIDE` setzt nur `Visible = False`; `LOAD`/`UNLOAD` mit
|
||||
Load-/Unload-Ereignis (Cancel-Parameter). `LOAD/UNLOAD ctl(index%)` für
|
||||
Steuerelement-Arrays (Entwurfszeit-Elemente sind nicht entladbar,
|
||||
Fehler 362).
|
||||
Fehler 362); deren Eigenschaften sind über `ctl(index%).Eigenschaft`
|
||||
adressierbar und werden beim `LOAD` vom Entwurfszeit-Element 0 geklont.
|
||||
|
||||
## Menüsystem
|
||||
|
||||
@@ -179,4 +191,4 @@ Menü-Steuerelement-Arrays sind möglich.
|
||||
aus den Original-Screenshots ableiten (Phase 4)
|
||||
- Z-Reihenfolge/Überlappung: Verhalten bei überlappenden Controls
|
||||
- Timer-Reihenfolge bei mehreren gleichzeitig fälligen Timern
|
||||
- `.FRM`-Textformat: exakte Serialisierung (siehe dateiformate.md)
|
||||
- `.FRM`-Textformat: exakte Serialisierung (siehe dateiformate.md)
|
||||
|
||||
Reference in New Issue
Block a user