Ein Feld, das eine Tastenkombination entgegennimmt statt Text: der Benutzer drückt sie, das Feld zeigt sie an und merkt sie sich. Der übliche Weg, Kürzel in einem Einstellungsdialog vergeben zu lassen.
Unit: vega.extctrls · Basis: TControl
→ Alle Steuerelemente · Klassenbaum · Guide: Komponenten
Kette: TComponent → TControl → THotKey
Direkte Nachfahren: keine — diese Klasse wird nicht weiter abgeleitet.
Quelle: vega/extctrls.lyx
var hk: THotKey := new THotKey();
hk.SetBounds(8, 8, 200, 24);
hk.SetParent(f);
hk.SetHotKey(KEY_S, MOD_CTRL); // Vorgabe: Strg+S
// Auslesen, wenn der Dialog bestaetigt wurde:
var taste: int64 := hk.HotKey;
var mods: int64 := hk.Modifiers;
AllowBareKeys schaltet die Sperre ab, wenn man es doch will.InvalidKeys listet die abgelehnten Kombinationen (HKI_*). Vorgabe ist genau die nackte Taste — AllowBareKeys und dieses Feld werden zusammen gehalten.Alle Eigenschaften, auch die geerbten.
| Name | Typ | Bedeutung | Herkunft |
|---|---|---|---|
ComponentState | int64 | Zustand als Bitmaske (csLoading, csDestroying …) | TComponent |
ComponentStyle | int64 | Stil als Bitmaske; Vorgabe csInheritable | TComponent |
Name | pchar | Name der Komponente — für FindComponent und beim Laden aus LFM | TComponent |
OwnedComponents | TObjectList | Die Komponenten, die DIESER gehoeren. Delphis Components[]. Zeigerliste, keine Kopien: TObjectList hält int64-Adressen | TComponent |
Owner | TComponent | Wer diese Komponente wegraeumt. Nicht der Elternteil im Zeichenbaum — das ist bei TControl `Parent` | TComponent |
Tag | int64 | Freier Wert für eigene Zwecke; die Bibliothek fasst ihn nicht an | TComponent |
AllowBareKeys | bool | Nimmt das Feld auch Kombinationen ohne Umschalter an? Aus, weil ein Kürzel aus einer nackten Taste jede Eingabe im Programm belegen wuerde. Dasselbe wie HKI_NONE in InvalidKeys, unter … | eigen |
BorderStyle | int64 | Rahmen um das Feld. Delphi hat ihn an jedem Eingabefeld | eigen |
HotKey | int64 | Die aufgenommene Taste (KEY_*) und ihre Umschalter (MOD_*) | eigen |
InvalidKeys | int64 | Abgelehnte Kombinationen (HKI_*). Vorgabe: nur die nackte Taste | eigen |
Modifiers | int64 | Umschalter des Kürzels (MOD_*) | eigen |
Alle Methoden, auch die geerbten.
| Signatur | Zweck | Herkunft |
|---|---|---|
ClearState(bits: int64): void | Zustandsbits löschen | TComponent |
ComponentCount(): int64 | Anzahl der eigenen Komponenten | TComponent |
ComponentIndex(): int64 | Delphis ComponentIndex: der eigene Platz in der Liste des Besitzers | TComponent |
Components(index: int64): TComponent | Eigene Komponente an dieser Stelle | TComponent |
Destroy(): void | Raeumt die eigene Liste ab, aber NICHT die Einträge — welche Komponenten ihre Besitztuemer mitnehmen, entscheidet die Ableitung über DestroyComponents() | TComponent |
DestroyComponents(): void | Baut die Besitztuemer ab. Von hinten, weil jedes Destroy() sich selbst aus der Liste austraegt | TComponent |
FindComponent(name: pchar): TComponent | Sucht unter den EIGENEN Komponenten, eine Ebene tief — wie in Delphi | TComponent |
GetName(): pchar | Namen lesen | TComponent |
GetNamePath(): pchar | Der eigene Name. Delphi hängt bei Unterkomponenten den des Besitzers davor; Vega hat keine, also ist es der Name selbst | TComponent |
GetTag(): int64 | Tag lesen | TComponent |
HasState(bits: int64): bool | Sind diese Zustandsbits gesetzt | TComponent |
InitComponent(): void | Kein Konstruktor: lyxc vererbt Konstruktoren nicht, jede Ableitung ruft InitComponent() im eigenen Create() | 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 |
SetName(v: pchar): void | Setzt Name | TComponent |
SetState(bits: int64): void | Zustand setzen | TComponent |
SetTag(v: int64): void | Setzt Tag | TComponent |
Clear(): void | Leeren — bei TBitmap die Fläche mit c füllen | eigen |
Create(): void | Anlegen; new THotKey() | eigen |
HasHotKey(): bool | Ob eine Kombination aufgenommen wurde | eigen |
HotKeyText(dst: TTextBuffer): void | Den angezeigten Text bauen: „Strg+Umschalt+F5“ | eigen |
IsInvalidCombo(mods: int64): bool | Ist diese Umschalterkombination abgelehnt? Geprueft wird die genaue Kombination, nicht einzelne Umschalter — Strg+Alt darf erlaubt sein, während Strg allein es nicht ist | eigen |
SetAllowBareKeys(v: bool): void | Beide Namen für dieselbe Aussage zusammenhalten: wer die nackte Taste erlaubt, nimmt HKI_NONE aus der Maske, und umgekehrt | eigen |
SetBorderStyle(v: int64): void | Setzt BorderStyle | eigen |
SetHotKey(key: int64, mods: int64): void | Setzt HotKey | eigen |
SetInvalidKeys(mask: int64): void | Setzt InvalidKeys | eigen |
| Name | Typ | Wann | Herkunft |
|---|---|---|---|
OnChange | TNotifyEvent | Der Inhalt oder die Auswahl hat sich geändert | eigen |
Letzte Aktualisierung: 2026-09-05 — Seite neu angelegt; erhoben aus vega/extctrls.lyx im Repo lyx-vcl.