AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Minimieren statt Beenden

Ein Thema von Mat · begonnen am 31. Mai 2003 · letzter Beitrag vom 1. Jun 2003
 
Mat

Registriert seit: 27. Mai 2003
Ort: Hönow
104 Beiträge
 
Delphi 7 Professional
 
#1

Minimieren statt Beenden

  Alt 31. Mai 2003, 05:37
Hallo, ich bin's wieder


ich moechte in meinem Programm dem User die Moeglichkeit geben, wenn er auf den Beenden-Button des Fensters ([X]-Button rechts oben) klickt, das Fenster nur minimiert wird.


Ich hab es jetzt soweit, das das Programm nur beendet werden kann, wenn ein bestimmter Button im Fenster gedrueckt wird.

Nebeneffekt ist, das z.B. 'Alt-F4', Beenden im Systemmenu ebenfalls nur zum Minimieren fuehren.. das find ich persoenlich nicht so schlimm, aber was passiert, wenn Windows das Programm schliessen will?

Ich hab's bei mir (WinXP) probiert, bei nem Neustart gab's keine Probleme und ueber den Task-Manager abschiessen kann man das Programm auch..


Kann die Funktion so bleiben, oder gibt's da auch was eleganteres?

Wenn alles super ist, dann hab ich eben nur ein Beispiel geposted..


Exit-Button (der richtige Button im Fenster) OnClick-Event:
Delphi-Quellcode:
procedure TForm_Main.Button_ExitClick(Sender: TObject);
begin

  ExitButtonWasClicked := True; // globale Variable (ist bei Programmstart auf False)
  Close;

end;
der OnCloseQuery_Event vom Hauptfenster
Delphi-Quellcode:
procedure TForm_Main.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
      msg: Integer;
     text: String;
  askexit: Boolean;
begin

  askexit := True;
  if (reg_minonx = True) and (ExitButtonWasClicked = False) then askexit := False;

  if askexit then
    begin
      text := 'Wollen Sie wirklich beenden?';
      msg := Application.MessageBox(Pointer(text), 'Beenden', MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION);

      // wenn YES gewählt, dann ist msg = 6
      if msg = 6 then
        CanClose := True
      else
        CanClose := False;
    end
  else
      CanClose := False;



  if (reg_minonx) and (not CanClose) and (not ExitButtonWasClicked) then
      Application.Minimize;

  ExitButtonWasClicked := False;

end;
(minonx ist True, wenn nur minimiert werden soll)


Mat
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09: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