Okay, gehen wir mal von der Annahme aus, daß Du zwei Formulare hast.
HauptForm: THauptForm1 ist Dein, klar, Hauptformular.
OnOffForm: TOnOffForm ist jenes Formular, welches immer mal wieder zu sehen sein soll.
Wenn Du mal in die Units
Deiner beiden Formulare schaust, dann sieht Du direkt vor der Anweisung
implementation folgende Zeilen (entsprechend der Benennung der Formulare).
Delphi-Quellcode:
var
Form1: TForm1;
implementation
Damit ist schon einmal eine Variable für Dein zweites Formular (im Beispiel: OnOffForm: TOnOffForm) definiert.
Jetzt aber ans Eingemachte
Es sind nur zwei Dinge, die Du jetzt tun musst
Der erste Teil
In Deinem Hauptformular empfehle ich Dir eine Methode zu erstellen, welche sich um die Darstellung des
OnOffForm kümmert. In
Grün der einzufüllende Code.
Code:
type
THauptForm = class(TForm)
...
private
...
public
...
[color=#008000]procedure ShowOnOffForm;[/color]
...
end;
[color=#008000]procedure THauptForm.ShowOnOffForm;
begin
if OnOffForm = nil then
OnOffForm := TOnOffForm.Create(Application);
OnOffForm.Show;
OnOffForm.BringToFront;
end;[/color]
Diese Methode (
ShowOnOffForm) rufst Du immer auf, wenn Du das OnOffForm anzeigen möchtest.
Der zweite Teil
Im Design-Editor gehst Du jetzt zum zweiten Form, dem
OnOffForm und wählst für dieses im Objekt Inspektor das Ereignis
OnClose aus.
Im Code Editor musst Du jetzt nur ein oder zwei Zeilen - je nach Aufgabe eingeben. In
Blau siehst Du Option 1 (Daten werden wieder angezeigt, wenn das Form das nächste Mal aufgerufen wird. In
Rot Option 2, das Form kommt im Originalzustand wieder zurück.
Code:
procedure TOnOffForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
[color=#0000ff]// Das Form nur verstecken (Daten bleiben erhalten)
Action := caHide;[/color]
[color=#e30000]// Das Form zerstören (Daten bleiben nicht erhalten)
Action := caFree;
OnOffForm := nil;[/color]
end;
So, das waren Theorie und Praxis
...
...