TTitleBar — eigene Titelzeile
Titel, Fensterknöpfe und Ziehfläche — selbst gezeichnet, damit ein Fenster auf jedem System gleich aussieht.
Unit: Vega.Chrome · Basis: TControl
→ Alle Steuerelemente · Unit Vega.Chrome · Guide: Fenster
Vererbung
Kette: TComponent → TControl → TTitleBar
Direkte Nachfahren: keine — diese Klasse wird nicht weiter abgeleitet.
Quelle: vega/chrome.lyx
Verwendung
f.CustomChrome := true; // das Fenster zeichnet seinen Rahmen selbst
var tb: TTitleBar := new TTitleBar();
tb.SetBounds(0, 0, 400, 28);
tb.Align := AL_TOP;
tb.Buttons := WB_ALL; // oder WB_MINIMIZE | WB_CLOSE
tb.OnMinimize := AufMinimieren;
tb.OnMaximize := AufMaximieren;
tb.OnCloseClick := AufSchliessen;
tb.SetParent(f);
Print(IntToStr(tb.ButtonCount())); // 3
Print(IntToStr(tb.ButtonWidth())); // 46
Print(IntToStr(tb.IsDragRegion(10, 10) as int64)); // 1
Print(IntToStr(tb.ButtonAt(395, 10))); // WB_CLOSE (4)
Besonderheiten
- Die Knöpfe sind eine Bitmaske, keine Kinder:
WB_MINIMIZE(1),WB_MAXIMIZE(2),WB_CLOSE(4),WB_ALL—ButtonCount()zählt die gesetzten Bits.ButtonAt(x, y)liefert den getroffenen Knopf oderWB_NONE. - Die Zeile schließt nicht selbst. Sie meldet nur:
OnMinimize,OnMaximize,OnCloseClick— was daraus folgt, entscheidet das Fenster. So kann eine Anwendung vor dem Schließen nachfragen. IsDragRegion(x, y)sagt, ob an dieser Stelle das Fenster gezogen werden darf — überall außer auf den Knöpfen.OnDragStartmeldet den Beginn und bekommt die Mausdaten.IsMaximizedbestimmt, welches Symbol der mittlere Knopf zeigt; gesetzt wird es vom Fenster, nicht von der Zeile.HotButtonundPressedButtonhalten den Zustand fürs Zeichnen — nützlich für eigene Darstellungen.- Der Rand zum Ziehen der Größe gehört nicht hierher: dafür gibt es
ResizeEdgeAtundVEGA_RESIZE_BORDERin Vega.Chrome.
Letzte Aktualisierung: 2026-09-05 — gegen lyx-vcl/vega/*.lyx abgeglichen: Abschnitt „Vererbung„ (Vorfahr-Kette, direkte Nachfahren, Quelldatei) ergänzt und die fehlenden Eigenschaften, Methoden und Ereignisse nachgetragen.
Vorherige letzte Aktualisierung: 2026-08-20 — API maschinell aus Vega/Chrome.lyx erhoben, Beispiel mit lyxc 1.1.4B übersetzt und ausgeführt.
Eigenschaften
Alle Eigenschaften, auch die geerbten.
| Name | Typ | Bedeutung | Herkunft |
|---|---|---|---|
Buttons | int64 | Fensterknöpfe als Bitmaske: WB_MINIMIZE (1), WB_MAXIMIZE (2), WB_CLOSE (4) | eigen |
HotButton | int64 | Knopf unter dem Zeiger | eigen |
PressedButton | int64 | Gedrückter Knopf | eigen |
IsMaximized | bool | Fenster ist maximiert — bestimmt das Symbol des mittleren Knopfes | eigen |
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 |
