Ein TEdit mit fest verbundener Beschriftung. Statt Feld und TLabel getrennt zu setzen und beim Verschieben beide nachzuziehen, wandert die Beschriftung hier mit.
Unit: vega.extctrls · Basis: TEdit
→ Alle Steuerelemente · Klassenbaum · Guide: Komponenten
Kette: TComponent → TControl → TCustomEdit → TEdit → TLabeledEdit
Direkte Nachfahren: keine — diese Klasse wird nicht weiter abgeleitet.
Quelle: vega/extctrls.lyx
var e: TLabeledEdit := new TLabeledEdit("Name:");
e.SetBounds(120, 40, 200, 24); // Position des FELDES
e.SetLabelPosition(LP_LEFT);
e.SetLabelSpacing(8);
e.SetParent(f);
e.EditLabel.SetFontStyle(FS_BOLD); // die Beschriftung ist ein echtes TLabel
EditLabel nicht selbst zerstören.LabelPosition bestimmt die Seite, LabelSpacing den Abstand. Die Bounds gelten für das Feld; die Beschriftung wird daneben gesetzt und liegt damit außerhalb.OnChange — steht bei TEdit.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 |
AutoSelect | bool | Beim Hineinspringen alles auswaehlen — so ersetzt die nächste Eingabe den alten Inhalt | TCustomEdit |
Backend | IVegaBackend | Die Zwischenablage laeuft über vega.clipbrd, nicht mehr über einen eigenen Backend-Verweis: die eine Ablage des Prozesses bekommt ihr Backend von TApplication.Init, und zwar BEVOR … | TCustomEdit |
CaretPos | int64 | Byteposition der Schreibmarke | TCustomEdit |
CaretVisible | bool | Blinkt die Marke gerade sichtbar? Die Zeitsteuerung macht TApplication über einen Timer, der CaretVisible umschaltet | TCustomEdit |
CharCase | int64 | Gross-/Kleinschreibung erzwingen, siehe TEditCharCase | TCustomEdit |
HideSelection | bool | Auswahl auch dann zeigen, wenn das Feld den Fokus verloren hat? Delphi-Vorgabe: nein | TCustomEdit |
MaxLength | int64 | Liest MaxLength | TCustomEdit |
Modified | bool | Hat der NUTZER seit dem letzten Zuruecksetzen etwas geaendert? Ein SetText aus dem Programm zählt nicht — sonst wäre die Frage „muss gespeichert werden?“ nach jedem Laden mit ja beantwortet | TCustomEdit |
NumbersOnly | bool | Nur Ziffern annehmen. Delphis NumbersOnly: gefiltert wird die EINGABE, nicht SetText — ein Programm darf weiter schreiben, was es will, sonst kann es einen Fehlwert nicht mehr anzeigen | TCustomEdit |
ReadOnly | bool | Nur lesen, keine Eingabe | TCustomEdit |
ScrollX | int64 | Waagerechte Verschiebung in Pixeln, damit die Marke sichtbar bleibt | TCustomEdit |
SelStart | int64 | Ankerpunkt der Auswahl; gleich CaretPos heißt „nichts ausgewählt“ | TCustomEdit |
Text | TTextBuffer | [[lyx_-_programmiersprache:vega:controls:tcustomedit|TCustomEdit | |
TextHint | pchar | Graue Andeutung im leeren Feld („Suchbegriff…“). Wird nicht ausgewählt, nicht kopiert und nicht mitgezaehlt — sie ist kein Text, sondern eine Beschriftung, die im Feld sitzt | TCustomEdit |
UndoBuffer | TTextBuffer | Ein Schritt zurück. Delphi merkt sich genau einen Stand; ein zweites Undo stellt den Zustand davor wieder her (also Redo). Mehr Stufen wären eine eigene Verwaltung — die kommt mit … | TCustomEdit |
UndoCaret | int64 | Position der Schreibmarke im Rückgängig-Puffer | TCustomEdit |
UndoValid | bool | Ob der Rückgängig-Puffer belegt ist | TCustomEdit |
WantReturns | bool | Nimmt das Feld Eingabe- und Tabtaste selbst an? Nur mehrzeilige Felder werten das aus; die Felder stehen trotzdem HIER, weil jede Ableitung über InitEdit hochkommt und TMemo.Create nicht … | TCustomEdit |
WantTabs | bool | Tabulator geht ins Feld statt zum nächsten Element | TCustomEdit |
Alignment | int64 | Waagerechte Ausrichtung des Textes (TA_LEFT/TA_CENTER/TA_RIGHT) | TEdit |
BorderStyle | int64 | Rahmenart, wie in Delphi: ohne oder einfach. Vorgabe ist der vertiefte Rahmen, an dem man ein Eingabefeld erkennt | TEdit |
PasswordChar | int64 | Statt der Zeichen wird dieses Zeichen gezeigt (Passwortfeld). 0 = normaler Text. Delphis EchoMode heißt bei uns so: emPassword ist PasswordChar != 0, emNone gibt es nicht — ein Feld, das … | TEdit |
EditLabel | TLabel | Die Beschriftung. Sie gehört diesem Feld: wer das Feld wegwirft, wirft sie mit weg | eigen |
LabelPosition | int64 | Seite, auf der die Beschriftung sitzt | eigen |
LabelSpacing | int64 | Abstand zwischen Beschriftung und Feld | 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 |
ApplyCharCase(cp: int64): int64 | Ein Zeichen durch die Schreibweisenregel schicken. Nur ASCII — Umlaute richtig zu behandeln braucht eine Tabelle, und die gehört nicht in ein Eingabefeld | TCustomEdit |
Backspace(): void | Auch Loeschen ist eine Änderung durch den Nutzer — aber erst NACH der ReadOnly-Pruefung, sonst gilt ein Feld als geaendert, in dem gar nichts passieren konnte | TCustomEdit |
CanUndo(): bool | Ob ein Rückgängig möglich ist | TCustomEdit |
Changed(): void | Änderung melden | TCustomEdit |
Clear(): void | Auswahl von Hand setzen, wie SelStart/SelLength in Delphi. Feld leeren. In Delphi an TCustomEdit, deshalb hier und nicht in TEdit — TMemo braucht dasselbe | TCustomEdit |
ClearSelection(): void | Auswahl aufheben | TCustomEdit |
ClearUndo(): void | Verwirft den Rückgängig-Puffer | TCustomEdit |
CopyToClipboard(): bool | Ausgewaehlten Text kopieren. Ohne Auswahl passiert nichts — wie überall | TCustomEdit |
CutToClipboard(): bool | Ausschneiden | TCustomEdit |
DeleteForward(): void | Zeichen rechts löschen | TCustomEdit |
DeleteSelection(): bool | Ausgewaehlten Text löschen. Liefert true, wenn etwas entfernt wurde | TCustomEdit |
Destroy(): void | Gibt eigene Ressourcen frei | TCustomEdit |
GetText(): pchar | Inhalt lesen | TCustomEdit |
HasSelection(): bool | Es ist etwas ausgewählt | TCustomEdit |
InitEdit(): void | Grundzustand des Eingabefelds | TCustomEdit |
InsertChar(cp: int64): void | Zeichen einfügen | TCustomEdit |
IsWordByte(b: int64): bool | Zaehlt ein Zeichen zum Wort? Ziffern, Buchstaben und der Unterstrich — alles ab 128 gilt als Buchstabe, damit Umlaute nicht mitten im Wort eine Grenze bilden. Eine echte Unicode-Tabelle … | TCustomEdit |
MoveCaret(pos: int64, keep: bool): void | Marke setzen. `keep` behaelt den Ankerpunkt (Umschalt+Pfeil erweitert die Auswahl), sonst wird sie aufgehoben | TCustomEdit |
PasteFromClipboard(): bool | Einfuegen ersetzt eine bestehende Auswahl — so erwartet man es | TCustomEdit |
SaveUndo(): void | Den jetzigen Stand als Rueckfallpunkt merken. Wird VOR jeder Änderung durch den Nutzer gerufen | TCustomEdit |
SelHigh(): int64 | Größere Grenze der Auswahl | TCustomEdit |
SelLength(): int64 | Länge der Auswahl in Bytes | TCustomEdit |
SelLow(): int64 | Kleinere Grenze der Auswahl | TCustomEdit |
SelTextTo(dst: TTextBuffer): void | Der ausgewählte Text. Der Puffer gehört dem AUFRUFER — er hat ihn mitgebracht, damit hier nichts angelegt wird, das niemand freigibt | TCustomEdit |
SelectAll(): void | Alles auswählen | TCustomEdit |
SelectWordAt(pos: int64): void | Das Wort an einer Stelle auswaehlen — der Doppelklick. Steht die Stelle nicht IN einem Wort (Leerraum, Satzzeichen), wird das Zeichen darunter genommen: eine Auswahl von Länge null wäre … | TCustomEdit |
SetCharCase(v: int64): void | Setzt CharCase | TCustomEdit |
SetModified(v: bool): void | Setzt Modified | TCustomEdit |
SetSelText(s: pchar): void | Die Auswahl durch anderen Text ersetzen. Ohne Auswahl wird an der Marke eingefuegt — genau wie Delphis SelText-Zuweisung | TCustomEdit |
SetSelection(start: int64, laenge: int64): void | Auswahl auf start mit laenge setzen | TCustomEdit |
SetText(s: pchar): void | Setzt Text | TCustomEdit |
SetTextHint(s: pchar): void | Setzt TextHint | TCustomEdit |
ShowingTextHint(): bool | Zeigt das Feld gerade nur seine Andeutung? | TCustomEdit |
TextLength(): int64 | Länge | TCustomEdit |
Undo(): bool | Tauschen statt überschreiben: so ist das zweite Undo das Redo | TCustomEdit |
WordEnd(pos: int64): int64 | Ende des Wortes, in dem pos liegt | TCustomEdit |
WordStart(pos: int64): int64 | Anfang des Wortes, in dem pos liegt | TCustomEdit |
Create(text: pchar): void | Anlegen; new TLabeledEdit() | TEdit |
Destroy(): void | Gibt eigene Ressourcen frei | TEdit |
PosFromX(x: int64): int64 | Textposition aus x-Koordinate | TEdit |
TextStartX(): int64 | Byteposition zu einer Pixelposition (Mausklick). Rundet auf die naechstgelegene Zeichengrenze — wer knapp hinter die Mitte eines Zeichens klickt, erwartet die Marke dahinter. Wo die … | TEdit |
WidthUpTo(pos: int64): int64 | Pixelbreite des Textes bis zu einer Byteposition — daraus ergibt sich, wo die Marke steht und wohin ein Mausklick zeigt | TEdit |
Create(caption: pchar): void | Anlegen; new TLabeledEdit() | eigen |
Destroy(): void | Gibt eigene Ressourcen frei | eigen |
SetLabelCaption(s: pchar): void | Setzt den Text der Beschriftung | eigen |
SetLabelPosition(v: int64): void | Setzt LabelPosition | eigen |
SetLabelSpacing(v: int64): void | Setzt LabelSpacing | eigen |
SyncLabel(): void | Die Beschriftung an ihren Platz stellen. Oeffentlich, weil ein Aufrufer sie auch außerhalb des Zeichnens brauchen kann — etwa um zu prüfen, wo sie liegt | eigen |
| Name | Typ | Wann | Herkunft |
|---|---|---|---|
OnChange | TNotifyEvent | Der Inhalt oder die Auswahl hat sich geändert | TCustomEdit |
Letzte Aktualisierung: 2026-09-05 — Seite neu angelegt; erhoben aus vega/extctrls.lyx im Repo lyx-vcl.