[gelöst] Bei "Schliessen" soll nur minimiert werden

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
meister0815
Beiträge: 43
Registriert: Sa 26. Jun 2010, 17:10

[gelöst] Bei "Schliessen" soll nur minimiert werden

Beitrag von meister0815 »

Hallo zusammen,

Ich möchte ein Programm so einrichten, dass es sich, sobald das Haupt-Form geschlossen werden soll (über die Taskleiste oder das Fensterleisten-X), in den Tray minimiert.

Wie stelle ich das an?
(TTrayIcon kenne ich)

Viele Grüße, Meister0815.
Zuletzt geändert von meister0815 am Sa 13. Nov 2010, 19:40, insgesamt 1-mal geändert.

Korkenkrone
Beiträge: 33
Registriert: Sa 18. Sep 2010, 20:33
OS, Lazarus, FPC: OpenSUSE 11.3 (L 0.9.28.2 Beta FPC 2.2.4)
CPU-Target: x86-64

Re: Bei "Schliessen" soll nur minimiert werden

Beitrag von Korkenkrone »

Du kannst das OnClose Event der Main Form verwenden und CloseAction je nach Sender auf caNone oder caClose setzen. Zum Verstecken dann einfach die Hide-Methode von der Mainform aufrufen.

Die Logik für einen Klick auf das Tray-Icon sieht bei mir so aus:

Code: Alles auswählen

if Visible and (WindowState <> wsMinimized) then Visible := False
  else begin
    Visible := True;
    Show;
  end;

meister0815
Beiträge: 43
Registriert: Sa 26. Jun 2010, 17:10

Re: Bei "Schliessen" soll nur minimiert werden

Beitrag von meister0815 »

Super, das hat genau so funktioniert! Vielen Dank für die schnelle Antwort!!! :)

Korkenkrone
Beiträge: 33
Registriert: Sa 18. Sep 2010, 20:33
OS, Lazarus, FPC: OpenSUSE 11.3 (L 0.9.28.2 Beta FPC 2.2.4)
CPU-Target: x86-64

Re: [gelöst] Bei "Schliessen" soll nur minimiert werden

Beitrag von Korkenkrone »

Sehr schön. :)

Das Klicken auf das Icon kann vermutlich auch einfacher und kürzer formuliert werden:

Code: Alles auswählen

if Visible and (WindowState <> wsMinimized) then Hide else Show;

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: [gelöst] Bei "Schliessen" soll nur minimiert werden

Beitrag von MAC »

was ist überhaupt der unterschied zw. Onlose und OnlCloseQuery?

Code: Alles auswählen

Signatur := nil;

Antworten