Inhaltsverzeichnis

TFindDialog — Suchen

Der einzige Standarddialog in Vega, der nicht modal läuft — zusammen mit seiner Ableitung TReplaceDialog. Das ist kein Versehen, sondern der Zweck: während das Fenster offen steht, soll man im Text weiterarbeiten und immer wieder „Weitersuchen“ drücken können.

Unit: Vega.FindDlg · Basis: keine — eigene Wurzel

Alle Steuerelemente · Guide: Dialoge · TReplaceDialog


Vererbung

Kette: TFindDialog — eigene Wurzel, kein Vorfahr. Was diese Klasse kann, steht vollständig auf dieser Seite.

Direkte Nachfahren: TReplaceDialog

Quelle: vega/finddlg.lyx


Verwendung

fn AufSuchen(sender: TFindDialog): void {
  // Der Handler sucht selbst — der Dialog kennt weder Text noch Editor.
  Print(sender.FindText.AsPChar());
  Print(IntToStr(sender.HasOption(frDown) as int64));       // 1 = abwärts
  Print(IntToStr(sender.HasOption(frMatchCase) as int64));
}

var d: TFindDialog := new TFindDialog();
d.SetTitle("Suchen");
d.SetFindText("Bello");
d.SetOption(frMatchCase, true);
d.OnFind := AufSuchen;
d.OnClose := AufZu;

d.Execute(app);          // zeigt das Fenster und kehrt SOFORT zurück
// ... das Programm läuft weiter, der Dialog bleibt offen
d.CloseDialog();


Nicht modal — was daraus folgt

Ereignis Wann
OnFind „Weitersuchen“ wurde gedrückt
OnClose Das Fenster ist zu

Gemessen: drei Klicks auf „Weitersuchen“ ergeben drei OnFind-Meldungen bei weiterhin offenem Fenster.


Optionen

Bit Wert Bedeutung
frDown 1 Abwärts suchen (Vorgabe)
frMatchCase 2 Groß- und Kleinschreibung beachten
frWholeWord 4 Nur ganze Wörter
frReplaceAll 8 Alle ersetzen — nur bei TReplaceDialog

Options ist eine Bitmaske; gelesen wird mit HasOption(bit), gesetzt mit SetOption(bit, v). Beide Richtungen greifen: ein Klick ins Kästchen ändert Options, und SetOption schaltet das Kästchen um.


Besonderheiten

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/FindDlg.lyx erhoben, Beispiel mit lyxc 1.1.4B übersetzt und ausgeführt.

Eigenschaften

Alle Eigenschaften, auch die geerbten.

Name Typ Bedeutung Herkunft
Form TForm Das Fenster selbst — öffentlich, weil ein nicht-modaler Dialog von außen erreichbar sein muss eigen
FindText TTextBuffer Der gesuchte Text eigen
Options int64 Suchoptionen als Bitmaske: frDown (1), frMatchCase (2), frWholeWord (4), frReplaceAll (8) eigen
Title TTextBuffer Titel des Fensters eigen
Visible bool Wird gezeichnet und nimmt am Layout teil eigen

Methoden

Alle Methoden, auch die geerbten.

Signatur Zweck Herkunft
Create(): void Konstruktor eigen
Destroy(): void Gibt eigene Ressourcen frei eigen
SetTitle(s: pchar): void Fenstertitel setzen eigen
SetFindText(s: pchar): void Suchtext setzen eigen
HasOption(bit: int64): bool Ist dieses Optionsbit gesetzt eigen
SetOption(bit: int64, v: bool): void Optionsbit setzen — schaltet auch das Kästchen um eigen
DialogHeight(): int64 Höhe des Fensters — überschreibbar eigen
DialogWidth(): int64 Breite des Fensters — überschreibbar eigen
BuildForm(): TForm Das Fenster aufbauen — überschreibbar eigen
AddButtons(dlg: TForm, w: int64, h: int64): void Die Knopfreihe anlegen — überschreibbar eigen
ReadFromControls(): void Stand der Eingabefelder in die Felder des Dialogs übernehmen eigen
SetOptionQuiet(bit: int64, v: bool): void Optionsbit setzen, ohne die Kästchen anzufassen eigen
Execute(app: TApplication): bool Fenster zeigen und sofort zurückkehren; ein zweiter Aufruf holt es nach vorn eigen
CloseDialog(): void Fenster schließen eigen
DoFind(): void OnFind auslösen — als ob „Weitersuchen“ gedrückt worden wäre eigen

Ereignisse

Name Typ Wann Herkunft
OnFind TFindEvent „Weitersuchen“ wurde gedrückt eigen
OnClose TFindEvent Fenster wird geschlossen eigen

Letzte Aktualisierung: 2026-08-20 — API maschinell aus Vega/FindDlg.lyx erhoben, Beispiel mit lyxc 1.1.4B übersetzt und ausgeführt.