Thema: Delphi Send to tray

Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: Send to tray

  Alt 17. Jul 2003, 10:42
1. Die Bearbeitung von WM_SYSCOMMAND (procedure WMSysCommand) weglassen.

2. Ich persönlich finde dieses Verhalten zwar unschön, aber du rufst den TNA-Code, den du im "OnCreate" findest einfach im "OnClose"-Ereignis der Form auf. Statt
Application.ShowMainForm := False; benutzt du aber
self.Hide; und setzt die Variable "Action" (aus dem OnClose-Prozedurkopf) auf caNone. Ich empfehle eine zusätzliche Variable (bool-Typ, bspw.), damit das Programm auch beendet werden kann. Das erwartet man ja eigentlich auch. Wie gesagt: ist nur meine Meinung, aber ich finde das Ändern von einem erwarteten Verhalten (Schließen in dem Fall) weniger schön. Es kommt aber auf´s Programm an. Bei einer Firewall akzeptiere ich das noch.

3. Indem du die Zeilen
Delphi-Quellcode:
Owner := GetWindow(Handle, GW_OWNER);
ShowWindow(Owner, SW_HIDE);
suchst und auskommentierst.

4. Über einen Parameter am besten. Trag es im Autostart etwa so ein
Code:
MeinProgramm /autorun
Diesen Parameter wertest du beim Start aus. Ist er vorhanden, startest du das Programm evtl. gleich minimiert ... oder was auch immer. Ist er nicht vorhanden, dann startet es normal. Dazu müsstest du den TNA-Code in "OnCreate" auch dort lassen und seine Ausführung eben nur vom ermittelten Parameter abhängig machen
Delphi-Quellcode:
if(paramstr(1) = '/autorun') then begin
  Application.ShowMainForm := False;

  { usw. }
  Mit Zitat antworten Zitat