Naja, ich denke das kann man über das CloseQuery-Ereignis lösen.
Du hast ja ein PopupMenu mit einem Beenden-Item. In dem ItemOnClick setzt du eine globale Variable (z.B. ende: Boolean) auf True;
In dem CloseQuery dann:
Delphi-Quellcode:
CanClose:=ende;
if not ende then -> minimieren, und ab in den Tray
das wars.
Wenn jetzt jemand auf das X clickt, dann wird deine Anwendung in den Tray minimiert. Wenn jemand auf beenden klickt, dann wird die Anwendung wirklich beendet.
Alternativ kannst du ja auch in das CloseQuery ein AbfrageBox anzeigen lassen, wo du fragst, ob beendet oder minimiert werden soll.
----
Alles aus dem Handgelenk geschrieben, müsste eigentlich aber funktionieren.