Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#9

Re: anwendung über tna schließen, bei formclose minimieren

  Alt 10. Jul 2009, 11:09
Also eine private Variable im Formular sollte schon drin sein. Man darf auch nicht vergessen, das Windows mal runtergefahren wird, da ist ein einfaches verbieten des Close auch nicht so nett.

Ich hab' mal ein Copy&Paste aus einem meiner Programme, das je nach Einstellung beim "X" schließt, minimiert oder versteckt.
Delphi-Quellcode:
{TForm1}
private
  procedure WMQueryEndSession (var M: TWMQueryEndSession); message WM_QUERYENDSESSION;
  ShootDown : Boolean


procedure TForm1.WMQueryEndSession (var M: TWMQueryEndSession);
begin
  inherited;
  ShootDown := TRUE;
end;


procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  // Wenn ShootDown, dann beenden
  if ShootDown then begin
    CanClose := TRUE;

  // Kein ShootDown, nur minimieren eingestellt?
  end else begin
    if CBoxMinimize.Checked then begin
      if CBoxNotifyIcon.Checked then AppShowHide(False) else Application.Minimize;
      CanClose := FALSE;
    end else begin
      CanClose := TRUE;
    end;
  end;
end;
Zum Beenden mit einem anderen Button, wird einfach ebenfalls ShootDown vorm Close auf True gesetzt.
  Mit Zitat antworten Zitat