Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm bei Klick auf "X" minimieren (https://www.delphipraxis.net/44688-programm-bei-klick-auf-x-minimieren.html)

Matze 22. Apr 2005 21:35

Re: Programm bei Klick auf "X" minimieren
 
Ich mache das mit dem CodeLib-Code.

In die TNA habe ich es dann so gegeben, da es anders per Klick auf "X" nicht ging:

Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
  Hide;
  Shell_NotifyIcon(NIM_ADD, @IconData);
end;

Stanlay Hanks 22. Apr 2005 21:42

Re: Programm bei Klick auf "X" minimieren
 
Hi Matze. Versuchs doch mal mit dem in D2005 enthaltenen "NotifyIcon". Vielleicht gehts ja damit.

Man liest sich, Stanlay :hi:

malo 22. Apr 2005 21:42

Re: Programm bei Klick auf "X" minimieren
 
Versuch mal in der Prozedur "WndProc" eine neue Case-Abzweigung zu erstellen, die "WM_Minimize" heißt, und da einfach mal den Code einzugeben. Ich weiß zwar nicht, ob es funktioniert, aber ein Versuch wär es ja wert... ;)

Matze 22. Apr 2005 21:44

Re: Programm bei Klick auf "X" minimieren
 
Das kenne ich nur für .NET (WinForms). Wo ist das denn bei der VCL zu finden? :angle2:

MathiasSimmack 22. Apr 2005 21:50

Re: Programm bei Klick auf "X" minimieren
 
Zitat:

Zitat von malo
Versuch mal in der Prozedur "WndProc" eine neue Case-Abzweigung zu erstellen, die "WM_Minimize" heißt, und da einfach mal den Code einzugeben.

Richtiger wäre WM_SIZE mit Auswertung SIZE_MINIMIZED. Es gibt ja noch diesen Systemhotkey [Win]+[M], mit dem man alle Fenster minimieren kann. Wir hatten das schon mal ausprobiert, aber mit WM_MINIMIZE funktioniert es irgendwie nicht, und das Programm würde normal in die Taskleiste minimiert werden. Es klappt nur mit dem o.g. WM_SIZE/SIZE_MINIMIZED. Allerdings nur bei nonVCL. Bei Delphi 5 reagierte das Programm irgendwie nicht korrekt. Aber evtl. ist das ja in Delphi 2005 endlich behoben worden.

Matze 22. Apr 2005 21:57

Re: Programm bei Klick auf "X" minimieren
 
Ich habe es nun so versucht:

Delphi-Quellcode:
procedure TForm1.WMSize(var Message: TWMSize);
begin
    if(Message.Msg = WM_SIZE) and
    (Message.SizeType = SIZE_MINIMIZED) then
  begin
    Hide;
    // Icon nur anzeigen wenn Fenster minimiert
    Shell_NotifyIcon(NIM_ADD, @IconData);
  end
  else
    inherited;
end;
Aber einen Unterschied kann ich nicht feststellen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:29 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz