Der Grundsatz: ein Control beschreibt Semantik („ich bin ein Knopf, meine Rolle ist primary, ich werde gerade überfahren“), das Thema beschreibt die Darstellung. Der Resolver bringt beides zusammen und liefert einen Stil, in dem jeder Wert feststeht — der Renderer löst nichts mehr auf. Diese Unit ist das Regelwerk; die schlichte Werteschicht daneben ist Vega.Theme.
Quelldatei: Vega/Style.lyx
→ Alle Units · Alle Steuerelemente · Vega VCL
| Klasse | Basis | Zweck |
|---|---|---|
TStyleQuery | — | Die Frage an den Resolver: welcher Typ, welche Klassen, welcher Zustand |
TStyleRegistry | — | Namen für Controltypen und Stilklassen, damit Vergleiche über Zahlen laufen |
TStyleResolver | — | Löst die Kaskade zu einem fertigen Stil auf |
TStyleRule | — | Eine Regel: Auswahl (Typ, Klasse, Zustand) und die Werte dazu |
TStyleSet | — | Ein Satz Stilwerte samt Angabe, welche gesetzt sind |
TStyleSheet | — | Ein Regelsatz — eine Stufe der Kaskade |
TStyleTrace | — | Antwort auf „woher kommt dieser Wert“ — für die Fehlersuche im Thema |
| Name | Typ | Wert | Bedeutung |
|---|---|---|---|
SV_UNSET | int64 | 0 | Wert ist nicht gesetzt |
SV_INHERIT | int64 | 1 | Wert kommt vom Elternteil |
SV_SET | int64 | 2 | Wert steht fest |
SP_BACKGROUND | int64 | 0 | Hintergrundfarbe |
SP_FOREGROUND | int64 | 1 | Vordergrund-/Textfarbe |
SP_BORDER_COLOR | int64 | 2 | Rahmenfarbe |
SP_FOCUS_RING_COLOR | int64 | 3 | Farbe des Fokusrings |
SP_SELECTION_BG | int64 | 4 | Hintergrund der Auswahl |
SP_SELECTION_FG | int64 | 5 | Textfarbe der Auswahl |
SP_MARK_COLOR | int64 | 6 | Farbe des Hakens bzw. Punktes |
SP_INDICATOR_BG | int64 | 7 | Hintergrund des Kästchens |
SP_INDICATOR_BORDER | int64 | 8 | Rahmen des Kästchens |
SP_TRACK_COLOR | int64 | 9 | Farbe der Laufschiene |
SP_ACCENT_COLOR | int64 | 10 | Akzentfarbe |
SP_SHADOW_COLOR | int64 | 11 | Schattenfarbe |
SP_FIRST_METRIC | int64 | 12 | Grenzmarke: ab hier beginnen die Maße |
SP_BORDER_WIDTH | int64 | 12 | Rahmenstärke |
SP_BORDER_RADIUS | int64 | 13 | Eckenrundung |
SP_PADDING_LEFT | int64 | 14 | Innenabstand links |
SP_PADDING_RIGHT | int64 | 15 | Innenabstand rechts |
SP_PADDING_TOP | int64 | 16 | Innenabstand oben |
SP_PADDING_BOTTOM | int64 | 17 | Innenabstand unten |
SP_MARGIN_LEFT | int64 | 18 | Außenabstand links |
SP_MARGIN_RIGHT | int64 | 19 | Außenabstand rechts |
SP_MARGIN_TOP | int64 | 20 | Außenabstand oben |
SP_MARGIN_BOTTOM | int64 | 21 | Außenabstand unten |
SP_MIN_WIDTH | int64 | 22 | Mindestbreite |
SP_MIN_HEIGHT | int64 | 23 | Mindesthöhe |
SP_PREF_WIDTH | int64 | 24 | Wunschbreite |
SP_PREF_HEIGHT | int64 | 25 | Wunschhöhe |
SP_MAX_WIDTH | int64 | 26 | Höchstbreite |
SP_MAX_HEIGHT | int64 | 27 | Höchsthöhe |
SP_FONT_SIZE | int64 | 28 | Schriftgröße |
SP_INDICATOR_SIZE | int64 | 29 | Größe des Kästchens |
SP_GAP | int64 | 30 | Abstand zwischen Bild und Text |
SP_ICON_SIZE | int64 | 31 | Symbolgröße |
SP_FOCUS_OFFSET | int64 | 32 | Abstand des Fokusrings |
SP_SHADOW_X | int64 | 33 | Schattenversatz waagerecht |
SP_SHADOW_Y | int64 | 34 | Schattenversatz senkrecht |
SP_SHADOW_BLUR | int64 | 35 | Weichzeichnung des Schattens |
SP_SHADOW_SPREAD | int64 | 36 | Ausdehnung des Schattens |
SP_LAST_METRIC | int64 | 36 | Grenzmarke: bis hier reichen die Maße |
SP_FONT_WEIGHT | int64 | 37 | Schriftstärke |
SP_OPACITY | int64 | 38 | Deckkraft |
SP_UNDERLINE | int64 | 39 | Unterstrichen |
SP_LINE_HEIGHT | int64 | 40 | Zeilenhöhe |
SP_ANIM_DURATION | int64 | 41 | Dauer einer Überblendung |
SP_ANIM_EASING | int64 | 42 | Verlaufskurve einer Überblendung |
SP_FIRST_STRING | int64 | 43 | Grenzmarke: ab hier beginnen die Zeichenketten |
SP_FONT_FAMILY | int64 | 43 | Schriftfamilie (Zeichenkette) |
SP_ICON_NAME | int64 | 44 | Symbolname (Zeichenkette) |
SP_LAST_STRING | int64 | 44 | Grenzmarke: bis hier reichen die Zeichenketten |
SP_COUNT | int64 | 64 | Anzahl der Stileigenschaften |
INV_PAINT | int64 | 1 | Änderung erfordert nur Neuzeichnen |
INV_LAYOUT | int64 | 2 | Änderung erfordert neues Layout |
INV_MEASURE | int64 | 4 | Änderung erfordert neues Ausmessen |
ST_NONE | int64 | 0 | Zustand: keiner |
ST_HOVER | int64 | 1 | Zustand: Zeiger darüber |
ST_SELECTED | int64 | 2 | Zustand: ausgewählt |
ST_CHECKED | int64 | 4 | Zustand: angehakt |
ST_INDETERMINATE | int64 | 8 | Zustand: unbestimmt |
ST_FOCUSED | int64 | 16 | Zustand: hat den Fokus |
ST_PRESSED | int64 | 32 | Zustand: gedrückt |
ST_READONLY | int64 | 64 | Zustand: nur lesbar |
ST_DRAGGING | int64 | 128 | Zustand: wird gezogen |
ST_DROP_TARGET | int64 | 256 | Zustand: mögliches Ablageziel |
ST_SUCCESS | int64 | 512 | Zustand: Erfolg |
ST_WARNING | int64 | 1024 | Zustand: Warnung |
ST_ERROR | int64 | 2048 | Zustand: Fehler |
ST_DISABLED | int64 | 4096 | Zustand: gesperrt |
ST_COUNT | int64 | 14 | Anzahl der Zustände |
SEL_ANY | int64 | 0 - 1 | Auswahlregel: gilt für jeden Typ bzw. jede Klasse |
VEGA_MAX_THEME_DEPTH | int64 | 8 | Wie tief Themen einander erweitern dürfen |
TOK_NUMBER | int64 | 0 | Wertart beim Lesen: Zahl |
TOK_COLOR | int64 | 1 | Wertart beim Lesen: Farbe |
VEGA_MAX_TYPES | int64 | 64 | Höchstzahl registrierter Controltypen |
VEGA_MAX_CLASSES | int64 | 4 | Höchstzahl registrierter Stilklassen |
VEGA_MAX_SHEETS | int64 | 8 | Höchstzahl der Regelsätze in der Kaskade |
SRC_NONE | int64 | 0 | Herkunft: keine |
SRC_FRAMEWORK | int64 | 1 | Herkunft: Framework-Mindestwerte |
SRC_SYSTEM | int64 | 2 | Herkunft: Systemthema |
SRC_APP | int64 | 3 | Herkunft: Anwendungsthema |
SRC_SCOPE | int64 | 4 | Herkunft: Geltungsbereich |
SRC_POLICY | int64 | 5 | Herkunft: Richtlinie (z. B. Barrierefreiheit) |
SRC_EXPLICIT | int64 | 6 | Herkunft: am Control ausdrücklich gesetzt |
SRC_RUNTIME | int64 | 7 | Herkunft: zur Laufzeit gesetzt |
VEGA_MAX_SCOPES | int64 | 4 | Höchstzahl der Geltungsbereiche |
A11Y_NONE | int64 | 0 | Barrierefreiheit: nichts |
A11Y_HIGH_CONTRAST | int64 | 1 | Barrierefreiheit: hoher Kontrast |
A11Y_LARGE_TEXT | int64 | 2 | Barrierefreiheit: große Schrift |
A11Y_REDUCED_MOTION | int64 | 4 | Barrierefreiheit: weniger Bewegung |
| Signatur | Zweck |
|---|---|
StylePropInvalidation(prop: int64): int64 | Was diese Eigenschaft bei Änderung nach sich zieht: neu zeichnen, ausmessen, Layout |
StylePropIsMetric(prop: int64): bool | Ist die Eigenschaft ein Maß |
StylePropIsString(prop: int64): bool | Ist die Eigenschaft eine Zeichenkette |
StyleStringId(s: pchar): int64 | Zeichenkette in der Tabelle ablegen und Nummer liefern |
StyleStringAt(id: int64): pchar | Zeichenkette zu einer Nummer |
StateRank(bit: int64): int64 | Rang eines Zustandsbits — entscheidet, welche Regel gewinnt |
StateMaskWeight(mask: int64): int64 | Gewicht einer ganzen Zustandsmaske |
NewStyleSet(): TStyleSet | Erzeugt einen leeren Stilsatz |
NewStyleSheet(id: pchar): TStyleSheet | Erzeugt einen Regelsatz mit dieser Kennung |
StyleRegistry(): TStyleRegistry | Die Registry der Typ- und Klassennamen |
SourceName(src: int64): pchar | Klartextname einer Herkunft (SRC_*) |
NewStyleQuery(): TStyleQuery | Erzeugt eine leere Anfrage |
NewStyleTrace(): TStyleTrace | Erzeugt eine leere Herkunftsauskunft |
ExplainStyle(res: TStyleResolver, q: TStyleQuery, explicitProps: TStyleSet, runtime: TStyleSet, prop: int64): TStyleTrace | Sagt für eine Eigenschaft, welche Regel gewonnen hat und warum |
ScopeMaySet(prop: int64): bool | Darf ein Geltungsbereich diese Eigenschaft überhaupt setzen |
AppResolver(): TStyleResolver | Der Resolver der laufenden Anwendung |
StylePropByName(name: pchar): int64 | Eigenschaftsnummer zu einem Namen aus der Themendatei |
StylePropName(prop: int64): pchar | Name einer Eigenschaftsnummer |
StylePropIsColor(prop: int64): bool | Ist die Eigenschaft eine Farbe |
StyleGetString(s: TStyleSet, prop: int64, fallback: pchar): pchar | Zeichenkettenwert aus einem Stilsatz, mit Ersatzwert |
StyleStateByName(name: pchar): int64 | Zustandsbit zu einem Namen aus der Themendatei |
SetRole(„primary“). Alles Weitere entscheidet die Kaskade.ExplainStyle beantwortet „warum ist der Knopf hier grau?“, ohne im Thema zu raten.ST_*-Zustände sind Bits: eine Regel für ST_HOVER | ST_PRESSED wiegt schwerer als eine für ST_HOVER allein.Importiert: Vega.Types, Vega.Strings, Vega.Lists
Wird importiert von: Vega.Actions, Vega.Calendar, Vega.Chrome, Vega.ColorCtrls, Vega.ColorDlg, Vega.Control, Vega.DateTimePicker, Vega.Dialogs, Vega.EditBtn, Vega.Edits, Vega.ExtCtrls, Vega.Extras, Vega.FontDlg, Vega.Forms, Vega.Grids, Vega.Hints, Vega.Images, Vega.Layout, Vega.LfmClasses, Vega.LfmLoad, Vega.LfmSave, Vega.ListCtrls, Vega.ListView, Vega.MaskEdit, Vega.Menus, Vega.StdCtrls, Vega.ThemeFile, Vega.Themes, Vega.Trees, Vega.ValueList
Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus Vega/Style.lyx erhoben.