![]() |
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:
Die Mainform - bei mir frmMain - wird also nicht geschlossen, sondern nur in die TNA minimiert (über die Komponente CoolTrayIcon).
CanClose := False;
CoolTrayIcon1.HideMainForm; 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. |
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. |
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?
|
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.
|
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...
|
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 22:04 Uhr. |
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 by Thomas Breitkreuz