[gelöst] Zweite Form unabhängig von MainForm

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
atroesch
Beiträge: 36
Registriert: Mo 7. Jul 2025, 10:05

[gelöst] Zweite Form unabhängig von MainForm

Beitrag von atroesch »

Hallo,
ist es möglich die 2. Form unabhängig von der MainForm zu machen?
Also wenn ich MainForm Minimiere bleibt die 2. From sichtbar, usw..
Nur beim Schließen der MainForm soll die auch geschlossen werden.
Oder muss ich das alles über die Events machen?
Die 2. Form wird mit Show angezeigt (nicht showModal) und
hat SystemOnTop im FormStyle.
Zuletzt geändert von atroesch am Mi 6. Aug 2025, 22:29, insgesamt 1-mal geändert.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1674
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Zweite Form unabhängig von MainForm

Beitrag von fliegermichl »

Normalerweise werden alle Fenster der Anwendung minimiert, wenn das Hauptformular minimiert wird.
Du kannst aber in Form1.OnWindowStateChange folgenden Code eintragen.

Code: Alles auswählen

procedure TForm1.FormWindowStateChange(Sender: TObject);
begin
  if WindowState = wsMinimized then form2.Show;
end;  
Das hat bei mir funktioniert.

atroesch
Beiträge: 36
Registriert: Mo 7. Jul 2025, 10:05

Re: Zweite Form unabhängig von MainForm

Beitrag von atroesch »

Danke für den Code.
Also doch alles über Ereignisse machen.
Dachte es gebe vielleicht eine einfachere Möglichkeit.

Soner
Beiträge: 754
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Zweite Form unabhängig von MainForm

Beitrag von Soner »

Bei so etwas erstelle ich einen versteckten Hauptform und die anderen Formulare rufen beim Schließen ein Ereignis, das in ein Unit liegt, wie z.B. Ein_Kind_Form_Wird_Geschlossen-Ereignis, welches auf einen Prozedur im Hauptform zeigt. Und in diesem Prozedur wird geprüft, ob Application außer Hauptform noch andere Formulare hat, wenn nicht, dann wird das Programm geschlossen(Application.Terminate).
Man muss aber achten, dass man bei den anderen Formularen OnClose-Ereignis als CloseAction:=caFree gibt. Sonst sind die geschlossen, aber lebendig und dein Programm läuft ewig ohne sichtbares Formular. Das ist ein guter Weg um Formulare von einander unabhängig zu machen.

atroesch
Beiträge: 36
Registriert: Mo 7. Jul 2025, 10:05

Re: Zweite Form unabhängig von MainForm

Beitrag von atroesch »

auch eine gute Idee.
Ich gehe aber den anderen Weg.
Danke für die Antworten

charlytango
Beiträge: 1154
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: [gelöst] Zweite Form unabhängig von MainForm

Beitrag von charlytango »


Antworten