Eine zweite Form erscheinen lassen

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Gustav Gans
Beiträge: 25
Registriert: Mi 12. Sep 2007, 19:28

Eine zweite Form erscheinen lassen

Beitrag von Gustav Gans »

Wie kann ich die erste Form klassisch unbenutzbar machen, solange die zweite Form erscheint? Diese soll die erste Form überdecken.

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Ganz einfach anstatt Form2.Show ein Form2.ShowModal

Solange das Modale Fenster offen ist, werden sämtliche anderen Fenster in den Hintergrund gesetzt und können nicht aktiviert werden.
Johannes

Gustav Gans
Beiträge: 25
Registriert: Mi 12. Sep 2007, 19:28

Beitrag von Gustav Gans »

Das ist ja klasse, danke! :D

Nachtrag: Wenn ich das so mache, dann verliert die Form1 beim Zurückkehren den Fokus und wird manchmal von anderen, nicht zum Programm gehörenden Windows-Fenstern (lustiges Wort) überdeckt. Kann man das noch irgendwie verhindern?

Gustav Gans
Beiträge: 25
Registriert: Mi 12. Sep 2007, 19:28

Beitrag von Gustav Gans »

Momentan umgehe ich das zuletzt im Nachtrag beschriebene Problem wie folgt:

Code: Alles auswählen

Form1.Hide;
Form1.Show;
Das ganze geschieht, wenn das andere Fenster wieder geschlossen wird. Da gibt es aber sicher noch eine elegantere Methode als diese Notlösung?

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Im OnClose des zweiten Forms könnte dir ein Form1.BringToFront vielleicht weiterhelfen.
Johannes

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Hast du Form1.Activate mal probiert?

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

oder einfach ein From1.SetFocus ?
MFG
Michael Springwald

Antworten