Hallo,
ich habe hier ein kleines Problem, bei dem mir langsam die Ideen ausgehen:
Gegeben:
- Hauptformular mit diversen Eingabeelementen, u.a. TEdits, TDBGrid, etc.
- TTDINotebook in dem im Vollbildmodus Formulare eingebunden werden, MainMenu ist gesetzt
Es wird nun ein Fenster geöffnet und in dem Notebook angezeigt. Das aufrufende Feld ist bekannt. Jetzt wird das über das "x" im MainMenu geschlossen. Da ich das aufrufende Feld kenne, kann ich einen Focus setzen. Unter Linux funktioniert das (qt6), Unter Windows erfolgt ein setzen des Focus auf das erste Feld (Focus ID 0).
Ich habe schon versucht, ein verzögertes setzen des Focus im Fenster und im Main Formular versucht. Kein Erfolg. Ideen, was ich hier noch machen kann?
Technisch kann ich mir das schon irgendwie erklären, dass ich ja in einem Fenster bin und der Focus hier intern springt. Aber das kann ich einen Benutzer nicht erklären.
cu tb.
Focus setzen beim schließen mit TDINotebook
-
Ich934
- Lazarusforum e. V.
- Beiträge: 396
- Registriert: So 5. Mai 2019, 16:52
- OS, Lazarus, FPC: ArchLinux mit FPCUPdeluxe (L: 4.2, FPC 3.2.2)
- CPU-Target: x86_64 (Win & Linux)
- Wohnort: Bayreuth
Focus setzen beim schließen mit TDINotebook
Tipp für PostgreSQL: www.pg-forum.de
Re: Focus setzen beim schließen mit TDINotebook
Für mich ist diese Beschreibung schwer verständlich.
Was ist ein "aufrufendes Feld"?
Wie hast du das "verzögerte setzen des Focus" bewerkstelligt?
Was ist ein "aufrufendes Feld"?
Wie hast du das "verzögerte setzen des Focus" bewerkstelligt?
-
dj_leinad
- Beiträge: 46
- Registriert: Sa 1. Okt 2022, 05:27
- OS, Lazarus, FPC: Win10 pro (Laz 4.3 / FPC 3.2.3)
- CPU-Target: 64Bit
- Wohnort: CH
Re: Focus setzen beim schließen mit TDINotebook
Lass Dir mal den aktiven Focus vor dem aufruf des Notebook anzeigen.
Code: Alles auswählen
if Assigned(Self.ActiveControl) then
ShowMessage('Fokus auf: ' + Self.ActiveControl.Name);Erfahrung heißt gar nichts. Man kann eine Sache auch 35 Jahre schlecht machen.
-
Ich934
- Lazarusforum e. V.
- Beiträge: 396
- Registriert: So 5. Mai 2019, 16:52
- OS, Lazarus, FPC: ArchLinux mit FPCUPdeluxe (L: 4.2, FPC 3.2.2)
- CPU-Target: x86_64 (Win & Linux)
- Wohnort: Bayreuth
Re: Focus setzen beim schließen mit TDINotebook
Aufrufende Feld ist die Komponete, von der ich aus starte, z.B. eine TEdit. Ich kann da mit einer Taste das Fenster starten das ggf. im TTDINotebook landet.theo hat geschrieben: Fr 6. Feb 2026, 12:29 Für mich ist diese Beschreibung schwer verständlich.
Was ist ein "aufrufendes Feld"?
Wie hast du das "verzögerte setzen des Focus" bewerkstelligt?
Über Application.QueueAsyncCall(@SetFocusDelayed, 0);
Tipp für PostgreSQL: www.pg-forum.de
-
Ich934
- Lazarusforum e. V.
- Beiträge: 396
- Registriert: So 5. Mai 2019, 16:52
- OS, Lazarus, FPC: ArchLinux mit FPCUPdeluxe (L: 4.2, FPC 3.2.2)
- CPU-Target: x86_64 (Win & Linux)
- Wohnort: Bayreuth
Re: Focus setzen beim schließen mit TDINotebook
Die Komponente, von der ich aus aufrufe. Beim Grid das Grid und nicht die Editorkomponente. Genau so, wie eigentlich erwartet.dj_leinad hat geschrieben: Fr 6. Feb 2026, 12:35 Lass Dir mal den aktiven Focus vor dem aufruf des Notebook anzeigen.
Code: Alles auswählen
if Assigned(Self.ActiveControl) then ShowMessage('Fokus auf: ' + Self.ActiveControl.Name);
Tipp für PostgreSQL: www.pg-forum.de
- Zvoni
- Beiträge: 531
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz/FPC fixes)
- CPU-Target: 64Bit
- Wohnort: BW
Re: Focus setzen beim schließen mit TDINotebook
Ich hab auch kein Wort verstanden.theo hat geschrieben: Fr 6. Feb 2026, 12:29 Für mich ist diese Beschreibung schwer verständlich.
Was ist ein "aufrufendes Feld"?
Wie hast du das "verzögerte setzen des Focus" bewerkstelligt?
Ein Bild sagt mehr als 1000 Worte?
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.