TButton — Knopf
Der Standardknopf: Beschriftung, Klick, fertig. Er nimmt den Fokus an und reagiert auf Leertaste und Eingabetaste.
Unit: Vega.StdCtrls · Basis: TControl
→ Alle Steuerelemente · Guide: Komponenten
Verwendung
var b: TButton := new TButton("Speichern");
b.SetBounds(16, 56, 130, 30);
b.OnClick := OnSpeichern;
b.SetParent(f);
// In einem Dialog: der Knopf setzt das Ergebnis und schliesst ihn
var ok: TButton := new TButton("OK");
ok.ModalResult := mrOk;
ok.Default := true; // reagiert auf die Eingabetaste
ok.SetParent(dlg);
Besonderheiten
ModalResultschließt einen Dialog. Trägt der Knopf einen Wert ≠mrNone, setzt ein Klick dasModalResultdes Fensters —ShowModalkehrt damit zurück.Default := truebindet den Knopf an die Eingabetaste,Cancel := truean Escape.PaintContentist überschreibbar: Wer einen Knopf mit Symbol oder eigener Innendarstellung will, erbt vonTButtonund ersetzt nur diesen Teil — Rahmen, Zustände und Fokusdarstellung bleiben.- Für Rollen wie „gefährlich„ oder „Hauptaktion“ nicht die Farbe setzen, sondern
SetRole(„primary“)bzw.SetRole(„danger“).
Eigenschaften
Alle Eigenschaften, auch die geerbten.
| Name | Typ | Bedeutung | Herkunft |
|---|---|---|---|
ModalResult | int64 | Wert, mit dem ein modales Fenster endet (mrOk, mrCancel …); mrNone schließt nicht | eigen |
Default | bool | Reagiert auf die Eingabetaste | eigen |
Cancel | bool | Reagiert auf Escape | eigen |
Glyph | TBitmap | Bild auf dem Knopf; gehört ihm und wird mit freigegeben | TCustomButton |
NumGlyphs | int64 | Wie viele Zustände das Bild nebeneinander enthält (1–4) | TCustomButton |
Layout | int64 | Seite, auf der das Bild sitzt: BL_GLYPH_LEFT (0), BL_GLYPH_RIGHT (1), BL_GLYPH_TOP (2), BL_GLYPH_BOTTOM (3) | TCustomButton |
Spacing | int64 | Abstand zwischen Symbol und Text | TCustomButton |
Margin | int64 | Abstand zum Rand | TCustomButton |
Parent | TControl | Zeichnerisches Elternteil | TControl |
Children | TObjectList | Kinder | TControl |
ChildCount | int64 | Anzahl der Kinder | TControl |
Left | int64 | Position relativ zum Elternteil | TControl |
Top | int64 | Position relativ zum Elternteil | TControl |
Width | int64 | Breite | TControl |
Height | int64 | Höhe | TControl |
Visible | bool | Wird gezeichnet und nimmt am Layout teil | TControl |
Enabled | bool | Nimmt Eingaben an | TControl |
Focused | bool | Hat den Tastaturfokus (nur lesen) | TControl |
Hovered | bool | Zeiger steht darüber | TControl |
Pressed | bool | Maustaste ist gedrückt | TControl |
CanFocus | bool | Kann den Fokus überhaupt bekommen | TControl |
Align | int64 | Ausrichtung: AL_NONE (0), AL_TOP (1), AL_BOTTOM (2), AL_LEFT (3), AL_RIGHT (4), AL_CLIENT (5) | TControl |
Anchors | int64 | Bitmaske: ANCHOR_LEFT (1), ANCHOR_TOP (2), ANCHOR_RIGHT (4), ANCHOR_BOTTOM (8) | TControl |
Font | TFont | Eigene Schrift oder 0 = die des Elternteils (Zeiger, keine Kopie) | TControl |
Cursor | int64 | Mauszeiger (CUR_*); CUR_DEFAULT erbt vom Elternteil | TControl |
TabStop | bool | Wird per Tabulator angesteuert | TControl |
TabOrder | int64 | Reihenfolge beim Tabulator | TControl |
HelpType | int64 | Art der Hilfeanbindung | TControl |
HelpContext | int64 | Hilfekennung | TControl |
HelpKeyword | pchar | Hilfestichwort | TControl |
BorderWidth | int64 | Abstand zwischen Rand und Kindern | TControl |
AutoSize | bool | Größe aus dem Inhalt ableiten | TControl |
MinWidth | int64 | Kleinste Breite; 0 = keine Grenze | TControl |
MinHeight | int64 | Kleinste Höhe; 0 = keine Grenze | TControl |
MaxWidth | int64 | Größte Breite; 0 = keine Grenze | TControl |
MaxHeight | int64 | Größte Höhe; 0 = keine Grenze | TControl |
DragMode | int64 | DM_MANUAL (0), DM_AUTOMATIC (1) | TControl |
PopupMenuPtr | int64 | Kontextmenü (TPopupMenu als Zahl) | TControl |
ActionPtr | int64 | Verknüpfter Befehl (TAction) | TControl |
Hint | pchar | Kurztext | TControl |
ShowHint | bool | Kurztext anzeigen — wirkt auch auf Kinder | TControl |
Caption | pchar | Beschriftung — hält nur den Zeiger, keine Kopie | TControl |
Dirty | bool | Neuzeichnen steht aus | TControl |
AutoRepaint | bool | Nach Änderungen selbst neu zeichnen | TControl |
PendingRepaint | bool | Neuzeichnen ist angefordert | TControl |
Color | TColor | Grundfarbe, sofern das Theme nichts vorgibt | TControl |
Theme | TTheme | Eigenes Theme statt des voreingestellten | TControl |
StyleType | int64 | Typnummer im Stylesheet | TControl |
StyleRole | int64 | Rolle im Stylesheet (SetRole) | TControl |
StyleClasses | TIntArray | Stilklassen | TControl |
StyleClassCount | int64 | Zahl der Stilklassen | TControl |
ExplicitStyle | TStyleSet | Werte, die den Themewechsel überleben | TControl |
ScopeStyle | TStyleSheet | Stylesheet für diesen Teilbaum | TControl |
Owner | TComponent | Wer diese Komponente wegräumt — nicht das Elternteil im Zeichenbaum | TComponent |
OwnedComponents | TObjectList | Die Komponenten, die dieser gehören (Delphis Components[]) | TComponent |
Name | pchar | Name der Komponente, für FindComponent und Formulardateien | TComponent |
Tag | int64 | Freier Wert für die Anwendung | TComponent |
ComponentState | int64 | Zustand als Bitmaske: csLoading, csDestroying, csDesigning … | TComponent |
ComponentStyle | int64 | Stil als Bitmaske; Vorgabe csInheritable | TComponent |
Methoden
Alle Methoden, auch die geerbten.
| Signatur | Zweck | Herkunft |
|---|---|---|
Create(caption: pchar): void | Anlegen; new TButton(„Text“) | eigen |
Paint(canvas: TCanvas): void | Vollständige Darstellung (überschrieben) | eigen |
PaintContent(canvas: TCanvas, r: TRect, col: TColor): void | Innendarstellung (überschreibbar) | eigen |
DoKeyDown(key: int64, modifiers: int64): void | Leertaste/Eingabetaste (überschrieben) | eigen |
InitGlyph(): void | Die Bildfelder auf ihre Vorgaben setzen — nach self.Init() im Create zu rufen | TCustomButton |
Destroy(): void | Gibt eigene Ressourcen frei | TCustomButton |
HasGlyph(): bool | Hat ein Symbol | TCustomButton |
LoadGlyphFromFile(path: pchar): bool | Symbol aus einer Datei laden | TCustomButton |
SetGlyph(src: TBitmap): void | Symbol setzen | TCustomButton |
SetNumGlyphs(n: int64): void | Zahl der Zustandsbilder | TCustomButton |
SetLayout(v: int64): void | Lage von Symbol und Text | TCustomButton |
SetSpacing(v: int64): void | Abstand Symbol/Text | TCustomButton |
SetMargin(v: int64): void | Abstand zum Rand | TCustomButton |
GlyphWidth(): int64 | Breite des Symbols | TCustomButton |
GlyphHeight(): int64 | Höhe des Symbols | TCustomButton |
GlyphIndexNow(): int64 | Aktuelles Zustandsbild | TCustomButton |
ContentLayout(r: TRect): TGlyphLayout | Aufteilung von Symbol und Text | TCustomButton |
DrawGlyphAndText(canvas: TCanvas, r: TRect, col: TColor): void | Bild und Beschriftung in die Fläche malen; ohne Bild nur den Text | TCustomButton |
Init(): void | Vorgaben von TControl setzen — in eigenen Klassen als erste Zeile im Create | TControl |
SetLeft(v: int64): void | Position setzen und neu zeichnen | TControl |
GetLeft(): int64 | Position lesen | TControl |
SetTop(v: int64): void | Position setzen und neu zeichnen | TControl |
GetTop(): int64 | Position lesen | TControl |
SetWidth(v: int64): void | Breite setzen und neu zeichnen | TControl |
GetWidth(): int64 | Breite lesen | TControl |
SetHeight(v: int64): void | Höhe setzen und neu zeichnen | TControl |
GetHeight(): int64 | Höhe lesen | TControl |
SetVisible(v: bool): void | Sichtbarkeit setzen | TControl |
GetVisible(): bool | Sichtbarkeit lesen | TControl |
SetEnabled(v: bool): void | Bedienbarkeit setzen | TControl |
GetEnabled(): bool | Bedienbarkeit lesen | TControl |
SetCaption(v: pchar): void | Beschriftung setzen und neu zeichnen | TControl |
GetCaption(): pchar | Beschriftung lesen | TControl |
SetHint(v: pchar): void | Kurztext setzen | TControl |
GetHint(): pchar | Kurztext lesen | TControl |
SetName(v: pchar): void | Bezeichner setzen | TControl |
IsClass(name: pchar): bool | Ist von dieser Klasse | TControl |
FindByName(name: pchar): TControl | Kind über Name finden | TControl |
FindTyped(name: pchar, klasse: pchar): TControl | Kind über Name und Klasse finden | TControl |
CountClass(klasse: pchar): int64 | Kinder dieser Klasse zählen | TControl |
GetName(): pchar | Bezeichner lesen | TControl |
OwnerControl(): TControl | Der Besitzer als TControl — der kurze Weg zum Formular | TControl |
GetParentComponent(): TComponent | Übergeordnete Komponente im Baum | TControl |
EffectiveFont(): TFont | Tatsächlich geltende Schrift | TControl |
SetFont(f: TFont): void | Schrift setzen | TControl |
HasOwnFont(): bool | Eigene Schrift gesetzt | TControl |
SetCursor(v: int64): void | Mauszeiger setzen | TControl |
GetCursor(): int64 | Mauszeiger lesen | TControl |
EffectiveCursor(): int64 | Tatsächlich geltender Zeiger | TControl |
SetConstraints(minW: int64, minH: int64, maxW: int64, maxH: int64): void | Größengrenzen setzen | TControl |
ClampWidth(w: int64): int64 | Breite auf die Grenzen bringen | TControl |
ClampHeight(h: int64): int64 | Höhe auf die Grenzen bringen | TControl |
HasHint(): bool | Hat einen Kurztext | TControl |
HintsAllowed(): bool | Kurztexte hier erlaubt | TControl |
SetColor(v: TColor): void | Farbe setzen | TControl |
GetColor(): TColor | Farbe lesen | TControl |
SetAlign(v: int64): void | Ausrichtung setzen | TControl |
GetAlign(): int64 | Ausrichtung lesen | TControl |
SetAnchors(v: int64): void | Anker setzen | TControl |
GetAnchors(): int64 | Anker lesen | TControl |
SetTag(v: int64): void | Freien Wert setzen | TControl |
GetTag(): int64 | Freien Wert lesen | TControl |
SetCanFocus(v: bool): void | Fokusfähigkeit setzen | TControl |
GetCanFocus(): bool | Fokusfähigkeit lesen | TControl |
SetPosition(x: int64, y: int64): void | Position in einem Zug | TControl |
SetSize(w: int64, h: int64): void | Größe in einem Zug | TControl |
SetBounds(x: int64, y: int64, w: int64, h: int64): void | Position und Größe in einem Zug | TControl |
SetRole(name: pchar): void | Semantische Rolle fürs Theme („primary“, „danger“ …) | TControl |
AddStyleClass(name: pchar): void | Stilklasse hinzufügen | TControl |
ClearStyleClasses(): void | Stilklassen leeren | TControl |
SetStyle(prop: int64, value: int64): void | Ausdrückliche Stilwerte setzen | TControl |
ResetStyle(prop: int64): void | Ausdrückliche Stilwerte verwerfen | TControl |
HasExplicitStyle(prop: int64): bool | Hat ausdrückliche Stilwerte | TControl |
StyleStates(): int64 | Zustände fürs Theme (ST_*) | TControl |
StyleQueryFor(scale: int64): TStyleQuery | Stilabfrage aufbauen | TControl |
ResolvedPartStyle(partName: pchar, partStates: int64): TStyleSet | Aufgelöste Stilwerte eines Teils | TControl |
ResolvedStyle(): TStyleSet | Aufgelöste Stilwerte (nach Gebrauch Destroy()) | TControl |
ClientRect(): TRect | Fläche ohne Rahmen — die Zeichenfläche | TControl |
SetBorderWidth(v: int64): void | Abstand zwischen Rand und Kindern setzen | TControl |
BoundsRect(): TRect | Fläche einschließlich Rahmen | TControl |
AddChild(c: TControl): void | Kind einhängen | TControl |
ChildAt(i: int64): TControl | Kind über den Index | TControl |
RemoveChild(c: TControl): void | Kind aushängen | TControl |
Root(): TControl | Wurzel des Baums | TControl |
IsVisible(): bool | Tatsächlich sichtbar (auch die Eltern) | TControl |
IsEnabled(): bool | Tatsächlich bedienbar | TControl |
Show(): void | Sichtbar machen | TControl |
Hide(): void | Verbergen | TControl |
BringToFront(): void | Nach vorn | TControl |
SendToBack(): void | Nach hinten | TControl |
CanSetFocus(): bool | Kann den Fokus jetzt bekommen | TControl |
SetFocus(): bool | Fokus holen | TControl |
Update(): void | Sofort zeichnen | TControl |
Refresh(): void | Neu zeichnen | TControl |
ClientWidth(): int64 | Breite der Zeichenfläche | TControl |
ClientHeight(): int64 | Höhe der Zeichenfläche | TControl |
ClientOrigin(): TPoint | Ursprung der Zeichenfläche auf dem Bildschirm | TControl |
ClientToScreen(x: int64, y: int64): TPoint | Punkt in Bildschirmkoordinaten | TControl |
ScreenToClient(x: int64, y: int64): TPoint | Punkt in Elementkoordinaten | TControl |
ControlCount(): int64 | Zahl der Kinder | TControl |
Controls(i: int64): TControl | Kind über den Index | TControl |
HasParent(): bool | Hat ein Elternteil | TControl |
GetTopParent(): TControl | Oberstes Elternteil | TControl |
IsParentOf(c: TControl): bool | Ist Vorfahr von | TControl |
ContainsControl(c: TControl): bool | Enthält dieses Element | TControl |
ControlAtPos(x: int64, y: int64): TControl | Element an einer Position | TControl |
FindChildControl(name: pchar): TControl | Direktes Kind über den Namen | TControl |
GetTextLen(): int64 | Länge der Beschriftung | TControl |
GetTextBuf(dst: TTextBuffer): int64 | Beschriftung in einen Puffer | TControl |
SetTextBuf(src: pchar): void | Beschriftung aus einem Puffer | TControl |
SetTabOrder(v: int64): void | Tabulatorreihenfolge setzen | TControl |
GetTabOrder(): int64 | Tabulatorreihenfolge lesen | TControl |
PreferredWidth(): int64 | Wunschbreite aus dem Inhalt | TControl |
PreferredHeight(): int64 | Wunschhöhe aus dem Inhalt | TControl |
SetAutoSize(v: bool): void | Automatische Größe schalten | TControl |
ApplyAutoSize(): void | Größe an den Inhalt anpassen | TControl |
Showing(): bool | Tatsächlich zu sehen: selbst sichtbar und jeder Vorfahr sichtbar | TControl |
DoubleBuffered(): bool | Auskunft, ob doppelt gepuffert gezeichnet wird — in Vega immer true und nicht einstellbar | TControl |
InsertControl(c: TControl): void | Kind aufnehmen (Delphi-Name für SetParent) | TControl |
RemoveControl(c: TControl): void | Kind aushängen | TControl |
GetControlIndex(c: TControl): int64 | Stelle eines Kindes in der Liste — zugleich die Z-Ordnung | TControl |
SetControlIndex(c: TControl, index: int64): void | Kind an eine andere Stelle schieben; BringToFront und SendToBack sind die Sonderfälle | TControl |
DisableAlign(): void | Layout anhalten (Delphi-Name für BeginUpdate) | TControl |
EnableAlign(): void | Layout wieder zulassen (Delphi-Name für EndUpdate) | TControl |
ReAlign(): void | Kinder neu ausrichten | TControl |
PaintTo(canvas: TCanvas, x: int64, y: int64): void | Ganzen Teilbaum an eine Stelle einer beliebigen Zeichenfläche malen — für Vorschaubilder und Ausdrucke | TControl |
GetChildrenRect(): TRect | Umschließendes Rechteck aller sichtbaren Kinder, in eigenen Koordinaten; leer, wenn es keine gibt | TControl |
ScrollBy(dx: int64, dy: int64): void | Alle Kinder um dx,dy verschieben | TControl |
ScaleBy(m: int64, d: int64): void | Größe und Lage im Verhältnis m/d ändern, samt aller Kinder — der Weg zu anderer Pixeldichte | TControl |
GetTabOrderList(dst: TObjectList): void | Fokussierbare Controls in Tabulator-Reihenfolge sammeln; steigt in Kinder ab | TControl |
ToAbsolute(x: int64, y: int64): TPoint | Punkt in absolute Koordinaten | TControl |
HitTest(x: int64, y: int64): TControl | Element an einer Position (überschreibbar) | TControl |
Invalidate(): void | Neuzeichnen anfordern | TControl |
Repaint(): void | Sofort neu zeichnen | TControl |
SetParent(v: TControl): void | In einen Container einhängen | TControl |
GetParent(): TControl | Elternteil lesen | TControl |
SetAutoRepaint(v: bool): void | Selbsttätiges Neuzeichnen schalten | TControl |
GetAutoRepaint(): bool | Einstellung lesen | TControl |
BeginUpdate(): void | Änderungen bündeln (kein Neuzeichnen bis EndUpdate) | TControl |
EndUpdate(): void | Bündelung beenden und neu zeichnen | TControl |
EffectiveTheme(): TTheme | Tatsächlich geltendes Theme | TControl |
PaintTree(canvas: TCanvas): void | Sich und die Kinder zeichnen | TControl |
PaintChildren(canvas: TCanvas): void | Kinder zeichnen (überschreibbar) | TControl |
DoClick(): void | Klick behandeln (überschreibbar) | TControl |
DoMouseDown(x: int64, y: int64, button: int64): void | Maustaste behandeln (überschreibbar) | TControl |
DoDblClick(): void | Doppelklick behandeln (überschreibbar) | TControl |
DoStartDrag(): void | Ziehgeste beginnen (überschreibbar) | TControl |
DoDragOver(source: TControl, x: int64, y: int64): bool | Annahme prüfen (überschreibbar) | TControl |
DoDragDrop(source: TControl, x: int64, y: int64): void | Ablegen behandeln (überschreibbar) | TControl |
DoEndDrag(target: TControl, x: int64, y: int64): void | Geste beenden (überschreibbar) | TControl |
DoKeyUp(key: int64, modifiers: int64): void | Loslassen behandeln (überschreibbar) | TControl |
DoContextPopup(x: int64, y: int64): bool | Kontextmenü anfordern (überschreibbar) | TControl |
DoMouseUp(x: int64, y: int64, button: int64): void | Loslassen behandeln (überschreibbar) | TControl |
DoMouseMove(x: int64, y: int64, button: int64): void | Bewegung behandeln (überschreibbar) | TControl |
SetBackendRef(b: int64): void | Backend bekannt machen | TControl |
DoMouseWheel(delta: int64): void | Mausrad behandeln (überschreibbar) | TControl |
DoMouseEnter(): void | Betreten behandeln (überschreibbar) | TControl |
DoMouseLeave(): void | Verlassen behandeln (überschreibbar) | TControl |
DoChar(cp: int64): void | Zeichen behandeln (überschreibbar) | TControl |
DoFocusIn(): void | Fokus erhalten (überschreibbar) | TControl |
DoFocusOut(): void | Fokus verloren (überschreibbar) | TControl |
DoResize(): void | Größenänderung behandeln (überschreibbar) | TControl |
ApplyLayout(): void | Kinder ausrichten — eine Ebene tief | TControl |
InitComponent(): void | Grundzustand herstellen — von jeder Ableitung im Create zu rufen, da Lyx Konstruktoren nicht vererbt | TComponent |
ComponentCount(): int64 | Anzahl der eigenen Komponenten | TComponent |
Components(index: int64): TComponent | Eigene Komponente an dieser Stelle | TComponent |
ComponentIndex(): int64 | Eigener Platz in der Liste des Besitzers, -1 ohne Besitzer | TComponent |
InsertComponent(c: TComponent): void | Komponente in Besitz nehmen; ein bisheriger Besitzer gibt sie ab | TComponent |
RemoveComponent(c: TComponent): void | Komponente aus dem Besitz nehmen | TComponent |
FindComponent(name: pchar): TComponent | Eigene Komponente über ihren Name suchen — eine Ebene tief | TComponent |
DestroyComponents(): void | Alle Besitztümer abbauen, von hinten nach vorn | TComponent |
HasState(bits: int64): bool | Sind diese Zustandsbits gesetzt | TComponent |
SetState(bits: int64): void | Zustandsbits setzen | TComponent |
ClearState(bits: int64): void | Zustandsbits löschen | TComponent |
GetNamePath(): pchar | Voller Name für Formulardateien; in Vega der Name selbst | TComponent |
Tick(now: int64): bool | Einmal je Bild aus der Fensterschleife; true = es hat sich etwas getan, also neu zeichnen | TComponent |
NextDueIn(now: int64): int64 | Wie lange die Schleife höchstens schlafen darf, bis diese Komponente wieder dran ist; -1 = nie von selbst | TComponent |
Ereignisse
| Name | Typ | Wann | Herkunft |
|---|---|---|---|
OnClick | TNotifyEvent | Klick | TControl |
OnDblClick | TNotifyEvent | Doppelklick | TControl |
OnMouseDown | TMouseEvent | Maustaste gedrückt; Koordinaten relativ zum Control | TControl |
OnMouseUp | TMouseEvent | Maustaste losgelassen | TControl |
OnMouseMove | TMouseEvent | Zeiger bewegt sich über dem Control | TControl |
OnMouseEnter | TNotifyEvent | Zeiger betritt die Fläche | TControl |
OnMouseLeave | TNotifyEvent | Zeiger verlässt die Fläche | TControl |
OnKeyDown | TKeyEvent | Taste gedrückt (KEY_*, MOD_*) | TControl |
OnKeyUp | TKeyEvent | Taste losgelassen | TControl |
OnChar | TCharEvent | Eingegebenes Zeichen (Unicode-Codepoint) | TControl |
OnMouseWheel | TWheelEvent | Mausrad; delta ist +1 oder -1 | TControl |
OnPaint | TPaintEvent | Zeichnen | TControl |
OnResize | TNotifyEvent | Größe geändert | TControl |
OnFocusIn | TNotifyEvent | Fokus erhalten | TControl |
OnFocusOut | TNotifyEvent | Fokus verloren | TControl |
OnEnter | TNotifyEvent | Element betreten | TControl |
OnExit | TNotifyEvent | Element verlassen | TControl |
OnKeyPress | TCharEvent | Wie OnChar | TControl |
OnChangeBounds | TNotifyEvent | Geometrie geändert | TControl |
OnShowHint | TNotifyEvent | Kurztext erscheint | TControl |
OnContextPopup | TMouseEvent | Kontextmenü angefordert | TControl |
OnStartDrag | TNotifyEvent | Ziehgeste beginnt | TControl |
OnDragOver | TDragOverEvent | Über einem möglichen Ziel; Rückgabe true = annehmen | TControl |
OnDragDrop | TDragDropEvent | Abgelegt | TControl |
OnEndDrag | TDragEndEvent | Geste beendet; target ist 0 bei Abbruch | TControl |
Letzte Aktualisierung: 2026-08-19 — API maschinell aus Vega/StdCtrls.lyx erhoben, Beispiel mit lyxc 1.1.3I übersetzt.
