====== TControl — die gemeinsame Grundlage ====== Jedes Steuerelement in Vega erbt von ''TControl''. Was hier steht, gilt deshalb für **alle** — die Detailseiten der einzelnen Controls führen nur noch auf, was dazukommt. → [[lyx_-_programmiersprache:vega:controls|Alle Steuerelemente]] · [[lyx_-_programmiersprache:vega:guides:eigenschaften|Guide: Eigenschaften]] · [[lyx_-_programmiersprache:vega:guides:events|Guide: Ereignisse]] Unit: ''Vega.Control'' · Basis: [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] ---- ===== Einordnung ===== ''TControl'' ist gleichzeitig Basisklasse und Container: Es hält Kinder, kennt seine Geometrie, zeichnet sich und verteilt Ereignisse. Ein Element ohne eigene Darstellung (''new TControl()'') taugt als reiner Container — genau so werden Leisten und Spalten gebaut. Darüber liegt seit dem Komponenten-Split [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]]: von dort kommen ''Owner'', ''Name'', ''Tag'', ''ComponentState'' und die Besitzverwaltung. Die Trennlinie verläuft am Zeichnen — was nie malt, sondern nur hält oder tickt ([[lyx_-_programmiersprache:vega:controls:ttimer|TTimer]], [[lyx_-_programmiersprache:vega:controls:timagelist|TImageList]]), hängt direkt an ''TComponent''. ---- ===== Verwendung ===== var c: TControl := new TControl(); // roher Container c.Height := 32; c.Align := AL_BOTTOM; c.SetParent(f); var b: TButton := new TButton("OK"); // jedes Control kann dasselbe b.SetBounds(8, 4, 100, 24); b.Tag := 1; b.SetHint("Übernimmt die Eingabe"); b.OnClick := OnOk; b.SetParent(c); ---- ===== Besonderheiten ===== * **Setter zeichnen neu, Felder nicht.** ''c.Left := 20'' verschiebt ohne Neuzeichnen, ''c.SetLeft(20)'' zeichnet neu. Die Felder bleiben öffentlich lesbar — für Berechnungen ist der direkte Zugriff richtig. * **''BeginUpdate()''/''EndUpdate()''** fasst mehrere Änderungen zu einem Neuzeichnen zusammen. * **''Parent'' ist die zeichnerische Verschachtelung, ''Owner'' die logische Zugehörigkeit** (meist das Formular) — bei Handlern der Weg zurück zum Fenster. ''Owner'' ist seit dem Komponenten-Split ein [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]]; ''OwnerControl()'' liefert ihn ohne Umwandlung von Hand als ''TControl''. ''AddChild'' reicht den Besitzer nach unten durch, trägt das Kind aber **nicht** in ''OwnedComponents'' ein — siehe [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]]. * **''Align'' schlägt ''Left''/''Top''/''Width''/''Height''.** Ein ausgerichtetes Kind bekommt seine Geometrie vom Layout. * **''Font'' ist ein Zeiger**, keine Kopie: mehrere Controls teilen sich dieselbe Schrift. ''0'' heißt „die des Elternteils". ---- ===== Eigenschaften ===== Alle Eigenschaften, auch die geerbten. ^ Name ^ Typ ^ Bedeutung ^ Herkunft ^ | ''Parent'' | [[lyx_-_programmiersprache:vega:controls:tcontrol|TControl]] | Zeichnerisches Elternteil | eigen | | ''Children'' | [[lyx_-_programmiersprache:vega:controls:tobjectlist|TObjectList]] | Kinder | eigen | | ''ChildCount'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Anzahl der Kinder | eigen | | ''Left'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Position relativ zum Elternteil | eigen | | ''Top'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Position relativ zum Elternteil | eigen | | ''Width'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Breite | eigen | | ''Height'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Höhe | eigen | | ''Visible'' | [[lyx_-_programmiersprache:sprache:datentypen#5_wahrheitswerte_bool|bool]] | Wird gezeichnet und nimmt am Layout teil | eigen | | ''Enabled'' | [[lyx_-_programmiersprache:sprache:datentypen#5_wahrheitswerte_bool|bool]] | Nimmt Eingaben an | eigen | | ''Focused'' | [[lyx_-_programmiersprache:sprache:datentypen#5_wahrheitswerte_bool|bool]] | Hat den Tastaturfokus (nur lesen) | eigen | | ''Hovered'' | [[lyx_-_programmiersprache:sprache:datentypen#5_wahrheitswerte_bool|bool]] | Zeiger steht darüber | eigen | | ''Pressed'' | [[lyx_-_programmiersprache:sprache:datentypen#5_wahrheitswerte_bool|bool]] | Maustaste ist gedrückt | eigen | | ''CanFocus'' | [[lyx_-_programmiersprache:sprache:datentypen#5_wahrheitswerte_bool|bool]] | Kann den Fokus überhaupt bekommen | eigen | | ''Align'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Ausrichtung: ''AL_NONE'' (0), ''AL_TOP'' (1), ''AL_BOTTOM'' (2), ''AL_LEFT'' (3), ''AL_RIGHT'' (4), ''AL_CLIENT'' (5) | eigen | | ''Anchors'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Bitmaske: ''ANCHOR_LEFT'' (1), ''ANCHOR_TOP'' (2), ''ANCHOR_RIGHT'' (4), ''ANCHOR_BOTTOM'' (8) | eigen | | ''Font'' | [[lyx_-_programmiersprache:vega:guides:zeichnen#text|TFont]] | Eigene Schrift oder ''0'' = die des Elternteils (Zeiger, keine Kopie) | eigen | | ''Cursor'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Mauszeiger (''CUR_*''); ''CUR_DEFAULT'' erbt vom Elternteil | eigen | | ''TabStop'' | [[lyx_-_programmiersprache:sprache:datentypen#5_wahrheitswerte_bool|bool]] | Wird per Tabulator angesteuert | eigen | | ''TabOrder'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Reihenfolge beim Tabulator | eigen | | ''HelpType'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Art der Hilfeanbindung | eigen | | ''HelpContext'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Hilfekennung | eigen | | ''HelpKeyword'' | [[lyx_-_programmiersprache:sprache:datentypen#pchar_nullterminierter_string|pchar]] | Hilfestichwort | eigen | | ''BorderWidth'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Abstand zwischen Rand und Kindern | eigen | | ''AutoSize'' | [[lyx_-_programmiersprache:sprache:datentypen#5_wahrheitswerte_bool|bool]] | Größe aus dem Inhalt ableiten | eigen | | ''MinWidth'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Kleinste Breite; ''0'' = keine Grenze | eigen | | ''MinHeight'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Kleinste Höhe; ''0'' = keine Grenze | eigen | | ''MaxWidth'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Größte Breite; ''0'' = keine Grenze | eigen | | ''MaxHeight'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Größte Höhe; ''0'' = keine Grenze | eigen | | ''DragMode'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''DM_MANUAL'' (0), ''DM_AUTOMATIC'' (1) | eigen | | ''PopupMenuPtr'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Kontextmenü (''TPopupMenu'' als Zahl) | eigen | | ''ActionPtr'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Verknüpfter Befehl (''TAction'') | eigen | | ''Hint'' | [[lyx_-_programmiersprache:sprache:datentypen#pchar_nullterminierter_string|pchar]] | Kurztext | eigen | | ''ShowHint'' | [[lyx_-_programmiersprache:sprache:datentypen#5_wahrheitswerte_bool|bool]] | Kurztext anzeigen — wirkt auch auf Kinder | eigen | | ''Caption'' | [[lyx_-_programmiersprache:sprache:datentypen#pchar_nullterminierter_string|pchar]] | Beschriftung — hält **nur den Zeiger**, keine Kopie | eigen | | ''Dirty'' | [[lyx_-_programmiersprache:sprache:datentypen#5_wahrheitswerte_bool|bool]] | Neuzeichnen steht aus | eigen | | ''AutoRepaint'' | [[lyx_-_programmiersprache:sprache:datentypen#5_wahrheitswerte_bool|bool]] | Nach Änderungen selbst neu zeichnen | eigen | | ''PendingRepaint'' | [[lyx_-_programmiersprache:sprache:datentypen#5_wahrheitswerte_bool|bool]] | Neuzeichnen ist angefordert | eigen | | ''Color'' | [[lyx_-_programmiersprache:vega:guides:zeichnen#was_tcanvas_kann|TColor]] | Grundfarbe, sofern das Theme nichts vorgibt | eigen | | ''Theme'' | [[lyx_-_programmiersprache:vega:themes|TTheme]] | Eigenes Theme statt des voreingestellten | eigen | | ''StyleType'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Typnummer im Stylesheet | eigen | | ''StyleRole'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Rolle im Stylesheet (''SetRole'') | eigen | | ''StyleClasses'' | [[lyx_-_programmiersprache:vega:controls:tintarray|TIntArray]] | Stilklassen | eigen | | ''StyleClassCount'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Zahl der Stilklassen | eigen | | ''ExplicitStyle'' | [[lyx_-_programmiersprache:vega:themes|TStyleSet]] | Werte, die den Themewechsel überleben | eigen | | ''ScopeStyle'' | [[lyx_-_programmiersprache:vega:themes|TStyleSheet]] | Stylesheet für diesen Teilbaum | eigen | | ''Owner'' | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | Wer diese Komponente wegräumt — nicht das Elternteil im Zeichenbaum | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''OwnedComponents'' | [[lyx_-_programmiersprache:vega:controls:tobjectlist|TObjectList]] | Die Komponenten, die dieser gehören (Delphis ''Components[]'') | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''Name'' | [[lyx_-_programmiersprache:sprache:datentypen#pchar_nullterminierter_string|pchar]] | Name der Komponente, für ''FindComponent'' und Formulardateien | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''Tag'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Freier Wert für die Anwendung | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''ComponentState'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Zustand als Bitmaske: ''csLoading'', ''csDestroying'', ''csDesigning'' … | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''ComponentStyle'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | Stil als Bitmaske; Vorgabe ''csInheritable'' | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | ---- ===== Methoden ===== Alle Methoden, auch die geerbten. ^ Signatur ^ Zweck ^ Herkunft ^ | ''Create(): void'' | Konstruktor | eigen | | ''Init(): void'' | Vorgaben von ''TControl'' setzen — in eigenen Klassen als erste Zeile im ''Create'' | eigen | | ''SetLeft(v: int64): void'' | Position setzen und neu zeichnen | eigen | | ''GetLeft(): int64'' | Position lesen | eigen | | ''SetTop(v: int64): void'' | Position setzen und neu zeichnen | eigen | | ''GetTop(): int64'' | Position lesen | eigen | | ''SetWidth(v: int64): void'' | Breite setzen und neu zeichnen | eigen | | ''GetWidth(): int64'' | Breite lesen | eigen | | ''SetHeight(v: int64): void'' | Höhe setzen und neu zeichnen | eigen | | ''GetHeight(): int64'' | Höhe lesen | eigen | | ''SetVisible(v: bool): void'' | Sichtbarkeit setzen | eigen | | ''GetVisible(): bool'' | Sichtbarkeit lesen | eigen | | ''SetEnabled(v: bool): void'' | Bedienbarkeit | eigen | | ''GetEnabled(): bool'' | Bedienbarkeit lesen | eigen | | ''SetCaption(v: pchar): void'' | Beschriftung setzen und neu zeichnen | eigen | | ''GetCaption(): pchar'' | Beschriftung lesen | eigen | | ''SetHint(v: pchar): void'' | Kurztext setzen | eigen | | ''GetHint(): pchar'' | Kurztext lesen | eigen | | ''SetName(v: pchar): void'' | Bezeichner setzen | eigen | | ''IsClass(name: pchar): bool'' | Ist von dieser Klasse | eigen | | ''FindByName(name: pchar): TControl'' | Kind über ''Name'' finden | eigen | | ''FindTyped(name: pchar, klasse: pchar): TControl'' | dasselbe mit Klassenprüfung | eigen | | ''CountClass(klasse: pchar): int64'' | Kinder dieser Klasse zählen | eigen | | ''GetName(): pchar'' | Bezeichner lesen | eigen | | ''OwnerControl(): TControl'' | Der Besitzer als ''TControl'' — der kurze Weg zum Formular | eigen | | ''GetParentComponent(): TComponent'' | Übergeordnete Komponente im Baum | eigen | | ''EffectiveFont(): TFont'' | Tatsächlich geltende Schrift | eigen | | ''SetFont(f: TFont): void'' | Schrift setzen | eigen | | ''HasOwnFont(): bool'' | Eigene Schrift gesetzt | eigen | | ''SetCursor(v: int64): void'' | Mauszeiger setzen | eigen | | ''GetCursor(): int64'' | Mauszeiger lesen | eigen | | ''EffectiveCursor(): int64'' | Tatsächlich geltender Zeiger | eigen | | ''SetConstraints(minW: int64, minH: int64, maxW: int64, maxH: int64): void'' | Grenzen setzen | eigen | | ''ClampWidth(w: int64): int64'' | Breite auf die Grenzen bringen | eigen | | ''ClampHeight(h: int64): int64'' | Höhe auf die Grenzen bringen | eigen | | ''HasHint(): bool'' | Hat einen Kurztext | eigen | | ''HintsAllowed(): bool'' | Kurztexte hier erlaubt | eigen | | ''SetColor(v: TColor): void'' | Farbe setzen | eigen | | ''GetColor(): TColor'' | Farbe lesen | eigen | | ''SetAlign(v: int64): void'' | Ausrichtung setzen | eigen | | ''GetAlign(): int64'' | Ausrichtung lesen | eigen | | ''SetAnchors(v: int64): void'' | Anker setzen | eigen | | ''GetAnchors(): int64'' | Anker lesen | eigen | | ''SetTag(v: int64): void'' | Freien Wert setzen | eigen | | ''GetTag(): int64'' | Freien Wert lesen | eigen | | ''SetCanFocus(v: bool): void'' | Fokusfähigkeit setzen | eigen | | ''GetCanFocus(): bool'' | Fokusfähigkeit lesen | eigen | | ''SetPosition(x: int64, y: int64): void'' | Position in einem Zug | eigen | | ''SetSize(w: int64, h: int64): void'' | Größe in einem Zug | eigen | | ''SetBounds(x: int64, y: int64, w: int64, h: int64): void'' | Position und Größe in einem Zug | eigen | | ''SetRole(name: pchar): void'' | Semantische Rolle fürs Theme (''"primary"'', ''"danger"'' …) | eigen | | ''AddStyleClass(name: pchar): void'' | Stilklasse hinzufügen | eigen | | ''ClearStyleClasses(): void'' | Stilklassen leeren | eigen | | ''SetStyle(prop: int64, value: int64): void'' | Ausdrückliche Stilwerte setzen | eigen | | ''ResetStyle(prop: int64): void'' | Ausdrückliche Stilwerte verwerfen | eigen | | ''HasExplicitStyle(prop: int64): bool'' | Hat ausdrückliche Stilwerte | eigen | | ''StyleStates(): int64'' | Zustände fürs Theme (''ST_*'') | eigen | | ''StyleQueryFor(scale: int64): TStyleQuery'' | Stilabfrage aufbauen | eigen | | ''ResolvedPartStyle(partName: pchar, partStates: int64): TStyleSet'' | Aufgelöste Stilwerte eines Teils | eigen | | ''ResolvedStyle(): TStyleSet'' | Aufgelöste Stilwerte (nach Gebrauch ''Destroy()'') | eigen | | ''ClientRect(): TRect'' | Fläche **ohne** Rahmen — die Zeichenfläche | eigen | | ''SetBorderWidth(v: int64): void'' | Abstand zwischen Rand und Kindern setzen | eigen | | ''BoundsRect(): TRect'' | Fläche einschließlich Rahmen | eigen | | ''AddChild(c: TControl): void'' | Kind einhängen | eigen | | ''ChildAt(i: int64): TControl'' | Kind über den Index | eigen | | ''RemoveChild(c: TControl): void'' | Aushängen | eigen | | ''Root(): TControl'' | Wurzel des Baums | eigen | | ''IsVisible(): bool'' | Tatsächlich sichtbar (auch die Eltern) | eigen | | ''IsEnabled(): bool'' | Tatsächlich bedienbar | eigen | | ''Show(): void'' | Sichtbar machen | eigen | | ''Hide(): void'' | Verbergen | eigen | | ''BringToFront(): void'' | Nach vorn | eigen | | ''SendToBack(): void'' | Nach hinten | eigen | | ''CanSetFocus(): bool'' | Kann den Fokus jetzt bekommen | eigen | | ''SetFocus(): bool'' | Fokus holen | eigen | | ''Update(): void'' | Sofort zeichnen | eigen | | ''Refresh(): void'' | Neu zeichnen | eigen | | ''ClientWidth(): int64'' | Breite der Zeichenfläche | eigen | | ''ClientHeight(): int64'' | Höhe der Zeichenfläche | eigen | | ''ClientOrigin(): TPoint'' | Ursprung der Zeichenfläche auf dem Bildschirm | eigen | | ''ClientToScreen(x: int64, y: int64): TPoint'' | Punkt in Bildschirmkoordinaten | eigen | | ''ScreenToClient(x: int64, y: int64): TPoint'' | Punkt in Elementkoordinaten | eigen | | ''ControlCount(): int64'' | Zahl der Kinder | eigen | | ''Controls(i: int64): TControl'' | Kind über den Index | eigen | | ''HasParent(): bool'' | Hat ein Elternteil | eigen | | ''GetTopParent(): TControl'' | Oberstes Elternteil | eigen | | ''IsParentOf(c: TControl): bool'' | Ist Vorfahr von | eigen | | ''ContainsControl(c: TControl): bool'' | Enthält dieses Element | eigen | | ''ControlAtPos(x: int64, y: int64): TControl'' | Element an einer Position | eigen | | ''FindChildControl(name: pchar): TControl'' | Nur direkte Kinder | eigen | | ''GetTextLen(): int64'' | Länge der Beschriftung | eigen | | ''GetTextBuf(dst: TTextBuffer): int64'' | Beschriftung in einen Puffer | eigen | | ''SetTextBuf(src: pchar): void'' | Beschriftung aus einem Puffer | eigen | | ''SetTabOrder(v: int64): void'' | Tabulatorreihenfolge setzen | eigen | | ''GetTabOrder(): int64'' | Tabulatorreihenfolge lesen | eigen | | ''PreferredWidth(): int64'' | Wunschbreite aus dem Inhalt | eigen | | ''PreferredHeight(): int64'' | Wunschhöhe aus dem Inhalt | eigen | | ''SetAutoSize(v: bool): void'' | Automatische Größe schalten | eigen | | ''ApplyAutoSize(): void'' | Größe an den Inhalt anpassen | eigen | | ''Showing(): bool'' | Tatsächlich zu sehen: selbst sichtbar **und** jeder Vorfahr sichtbar | eigen | | ''DoubleBuffered(): bool'' | Auskunft, ob doppelt gepuffert gezeichnet wird — in Vega immer ''true'' und nicht einstellbar | eigen | | ''InsertControl(c: TControl): void'' | Kind aufnehmen (Delphi-Name für ''SetParent'') | eigen | | ''RemoveControl(c: TControl): void'' | Kind aushängen | eigen | | ''GetControlIndex(c: TControl): int64'' | Stelle eines Kindes in der Liste — zugleich die Z-Ordnung | eigen | | ''SetControlIndex(c: TControl, index: int64): void'' | Kind an eine andere Stelle schieben; ''BringToFront'' und ''SendToBack'' sind die Sonderfälle | eigen | | ''DisableAlign(): void'' | Layout anhalten (Delphi-Name für ''BeginUpdate'') | eigen | | ''EnableAlign(): void'' | Layout wieder zulassen (Delphi-Name für ''EndUpdate'') | eigen | | ''ReAlign(): void'' | Kinder neu ausrichten | eigen | | ''PaintTo(canvas: TCanvas, x: int64, y: int64): void'' | Ganzen Teilbaum an eine Stelle einer beliebigen Zeichenfläche malen — für Vorschaubilder und Ausdrucke | eigen | | ''GetChildrenRect(): TRect'' | Umschließendes Rechteck aller sichtbaren Kinder, in eigenen Koordinaten; leer, wenn es keine gibt | eigen | | ''ScrollBy(dx: int64, dy: int64): void'' | Alle Kinder um ''dx'',''dy'' verschieben | eigen | | ''ScaleBy(m: int64, d: int64): void'' | Größe und Lage im Verhältnis ''m''/''d'' ändern, samt aller Kinder — der Weg zu anderer Pixeldichte | eigen | | ''GetTabOrderList(dst: TObjectList): void'' | Fokussierbare Controls in Tabulator-Reihenfolge sammeln; steigt in Kinder ab | eigen | | ''ToAbsolute(x: int64, y: int64): TPoint'' | Punkt in absolute Koordinaten | eigen | | ''HitTest(x: int64, y: int64): TControl'' | Welches Element liegt dort (überschreibbar) | eigen | | ''Invalidate(): void'' | Neuzeichnen anfordern | eigen | | ''Repaint(): void'' | Sofort neu zeichnen | eigen | | ''SetParent(v: TControl): void'' | In einen Container einhängen | eigen | | ''GetParent(): TControl'' | Elternteil lesen | eigen | | ''SetAutoRepaint(v: bool): void'' | Selbsttätiges Neuzeichnen schalten | eigen | | ''GetAutoRepaint(): bool'' | Einstellung lesen | eigen | | ''BeginUpdate(): void'' | Änderungen bündeln (kein Neuzeichnen bis ''EndUpdate'') | eigen | | ''EndUpdate(): void'' | Bündelung beenden und neu zeichnen | eigen | | ''EffectiveTheme(): TTheme'' | Tatsächlich geltendes Theme | eigen | | ''Paint(canvas: TCanvas): void'' | Darstellung (überschreibbar) | eigen | | ''PaintTree(canvas: TCanvas): void'' | Sich und die Kinder zeichnen | eigen | | ''PaintChildren(canvas: TCanvas): void'' | Kinder zeichnen (überschreibbar) | eigen | | ''DoClick(): void'' | Klick behandeln (überschreibbar) | eigen | | ''DoMouseDown(x: int64, y: int64, button: int64): void'' | Maustaste behandeln (überschreibbar) | eigen | | ''DoDblClick(): void'' | Doppelklick behandeln (überschreibbar) | eigen | | ''DoStartDrag(): void'' | Ziehgeste beginnen (überschreibbar) | eigen | | ''DoDragOver(source: TControl, x: int64, y: int64): bool'' | Annahme prüfen (überschreibbar) | eigen | | ''DoDragDrop(source: TControl, x: int64, y: int64): void'' | Ablegen behandeln (überschreibbar) | eigen | | ''DoEndDrag(target: TControl, x: int64, y: int64): void'' | Geste beenden (überschreibbar) | eigen | | ''DoKeyUp(key: int64, modifiers: int64): void'' | Loslassen behandeln (überschreibbar) | eigen | | ''DoContextPopup(x: int64, y: int64): bool'' | Kontextmenü anfordern (überschreibbar) | eigen | | ''DoMouseUp(x: int64, y: int64, button: int64): void'' | Loslassen behandeln (überschreibbar) | eigen | | ''DoMouseMove(x: int64, y: int64, button: int64): void'' | Bewegung behandeln (überschreibbar) | eigen | | ''SetBackendRef(b: int64): void'' | Backend bekannt machen | eigen | | ''DoMouseWheel(delta: int64): void'' | Mausrad behandeln (überschreibbar) | eigen | | ''DoMouseEnter(): void'' | Betreten behandeln (überschreibbar) | eigen | | ''DoMouseLeave(): void'' | Verlassen behandeln (überschreibbar) | eigen | | ''DoKeyDown(key: int64, modifiers: int64): void'' | Taste behandeln (überschreibbar) | eigen | | ''DoChar(cp: int64): void'' | Zeichen behandeln (überschreibbar) | eigen | | ''DoFocusIn(): void'' | Fokus erhalten (überschreibbar) | eigen | | ''DoFocusOut(): void'' | Fokus verloren (überschreibbar) | eigen | | ''DoResize(): void'' | Größenänderung behandeln (überschreibbar) | eigen | | ''ApplyLayout(): void'' | Kinder ausrichten — **eine Ebene tief** | eigen | | ''InitComponent(): void'' | Grundzustand herstellen — von jeder Ableitung im ''Create'' zu rufen, da Lyx Konstruktoren nicht vererbt | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''Destroy(): void'' | Gibt eigene Ressourcen frei | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''ComponentCount(): int64'' | Anzahl der eigenen Komponenten | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''Components(index: int64): TComponent'' | Eigene Komponente an dieser Stelle | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''ComponentIndex(): int64'' | Eigener Platz in der Liste des Besitzers, ''-1'' ohne Besitzer | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''InsertComponent(c: TComponent): void'' | Komponente in Besitz nehmen; ein bisheriger Besitzer gibt sie ab | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''RemoveComponent(c: TComponent): void'' | Komponente aus dem Besitz nehmen | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''FindComponent(name: pchar): TComponent'' | Eigene Komponente über ihren ''Name'' suchen — eine Ebene tief | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''DestroyComponents(): void'' | Alle Besitztümer abbauen, von hinten nach vorn | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''HasState(bits: int64): bool'' | Sind diese Zustandsbits gesetzt | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''SetState(bits: int64): void'' | Zustandsbits setzen | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''ClearState(bits: int64): void'' | Zustandsbits löschen | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''GetNamePath(): pchar'' | Voller Name für Formulardateien; in Vega der Name selbst | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''Tick(now: int64): bool'' | Einmal je Bild aus der Fensterschleife; ''true'' = es hat sich etwas getan, also neu zeichnen | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | | ''NextDueIn(now: int64): int64'' | Wie lange die Schleife höchstens schlafen darf, bis diese Komponente wieder dran ist; ''-1'' = nie von selbst | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | ---- ===== Ereignisse ===== ^ Name ^ Typ ^ Wann ^ Herkunft ^ | ''OnClick'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TNotifyEvent]] | Klick | eigen | | ''OnDblClick'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TNotifyEvent]] | Doppelklick | eigen | | ''OnMouseDown'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TMouseEvent]] | Maustaste gedrückt; Koordinaten relativ zum Control | eigen | | ''OnMouseUp'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TMouseEvent]] | Maustaste losgelassen | eigen | | ''OnMouseMove'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TMouseEvent]] | Zeiger bewegt sich über dem Control | eigen | | ''OnMouseEnter'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TNotifyEvent]] | Zeiger betritt die Fläche | eigen | | ''OnMouseLeave'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TNotifyEvent]] | Zeiger verlässt die Fläche | eigen | | ''OnKeyDown'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TKeyEvent]] | Taste gedrückt (''KEY_*'', ''MOD_*'') | eigen | | ''OnKeyUp'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TKeyEvent]] | Taste losgelassen | eigen | | ''OnChar'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TCharEvent]] | Eingegebenes Zeichen (Unicode-Codepoint) | eigen | | ''OnMouseWheel'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TWheelEvent]] | Mausrad; ''delta'' ist ''+1'' oder ''-1'' | eigen | | ''OnPaint'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TPaintEvent]] | Zeichnen | eigen | | ''OnResize'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TNotifyEvent]] | Größe geändert | eigen | | ''OnFocusIn'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TNotifyEvent]] | Fokus erhalten | eigen | | ''OnFocusOut'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TNotifyEvent]] | Fokus verloren | eigen | | ''OnEnter'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TNotifyEvent]] | Element betreten | eigen | | ''OnExit'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TNotifyEvent]] | Element verlassen | eigen | | ''OnKeyPress'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TCharEvent]] | Wie ''OnChar'' | eigen | | ''OnChangeBounds'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TNotifyEvent]] | Geometrie geändert | eigen | | ''OnShowHint'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TNotifyEvent]] | Kurztext erscheint | eigen | | ''OnContextPopup'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TMouseEvent]] | Kontextmenü angefordert | eigen | | ''OnStartDrag'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TNotifyEvent]] | Ziehgeste beginnt | eigen | | ''OnDragOver'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TDragOverEvent]] | Über einem möglichen Ziel; Rückgabe ''true'' = annehmen | eigen | | ''OnDragDrop'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TDragDropEvent]] | Abgelegt | eigen | | ''OnEndDrag'' | [[lyx_-_programmiersprache:vega:guides:events#die_handler-typen|TDragEndEvent]] | Geste beendet; ''target'' ist ''0'' bei Abbruch | eigen | Letzte Aktualisierung: 2026-08-20 — API maschinell aus ''Vega/Control.lyx'' und ''Vega/Component.lyx'' erhoben; Komponenten-Split (''TComponent'' als neue Basis) mit ''lyxc 1.1.4A'' nachgemessen.