Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Minimieren/Schließen - Problem mit CoolTrayIcon (https://www.delphipraxis.net/56815-minimieren-schliessen-problem-mit-cooltrayicon.html)

Yheeky 11. Nov 2005 17:49


Minimieren/Schließen - Problem mit CoolTrayIcon
 
Hi,

folgendes: Ich benutze die Komponente CoolTrayIcon. Ich habe in der Mainform beim Klicken auf das "Kreuz" in die OnCloseQuery Prozedure folgendes geschrieben:
Delphi-Quellcode:
CanClose := False;
CoolTrayIcon1.HideMainForm;
Die Mainform - bei mir frmMain - wird also nicht geschlossen, sondern nur in die TNA minimiert (über die Komponente CoolTrayIcon).
Soweit, so gut - das klappt wunderbar. Durch ein PopUp kann ich das Programm mit Application.Terminate beenden. Mein Problem ist nun, dass ich das Programm per Autostart mit Windows lade bzw. dem User diese Funktion zur Verfügung stelle. Wenn ich nun meinen Computer herunterfahren möchte, lässt sich das Programm nicht schliessen, sondern führt dazu, dass Windows nicht herunterfährt. Durch CanClose wird das verhindert. Ich kann es aber auch nicht weglassen, sonst schliesst sich das Programm jedes Mal, wenn man in der Mainform auf das Kreuz klickt.
Wie kann ich das Problem beheben?

Ich hoffe jemand hat eine Idee.

glkgereon 11. Nov 2005 18:04

Re: Minimieren/Schließen - Problem mit CoolTrayIcon
 
Du solltest frmMain.Close statt Application.Terminate nehmen.

Du nimmst ja auch nicht den Vorschlaghammer um deine Nachttischlampe auszumachen.

Yheeky 12. Nov 2005 11:39

Re: Minimieren/Schließen - Problem mit CoolTrayIcon
 
Bei frmMain.Close wird ja OnCloseQuery aufgerufen und da steht ja wie gesagt drin, dass die Form nicht geschlossen wird, sondern nur minimiert. Muss man also anders machen...jemand eine Idee wie?

hanselmansel 12. Nov 2005 11:57

Re: Minimieren/Schließen - Problem mit CoolTrayIcon
 
Teste in der OnCloseQuery ab, ob das Fenster schon minimiert ist. Dann kanst du sicher sein, dass die Query nicht vom X in der Ecke kam, und das Programm kann ruhig und beseelt über den Jordan gehn.

Yheeky 12. Nov 2005 14:03

Re: Minimieren/Schließen - Problem mit CoolTrayIcon
 
Aber was ist, wenn das Programm NICHT minimiert ist und man versucht, den PC herunterzufahren?! Dann geht´s auch nicht...

hanselmansel 12. Nov 2005 14:31

Re: Minimieren/Schließen - Problem mit CoolTrayIcon
 
Gut, habe gerade mal Delphi angeschmissen und die CloseQuery-Prozedur beaugapfelt. Praktischerweise bekommst du den Sender. Da könntest du dann abprüfen, ob der Sender ein Popup, ein TBoarderIcon oder ein Betriebssystem ist.

MfG,

hanselmansel


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:04 Uhr.

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