Einzelnen Beitrag anzeigen

Lostriga

Registriert seit: 14. Jun 2008
28 Beiträge
 
#5

Re: Wenn Anwendung inaktiv, dann minimieren.

  Alt 24. Mär 2010, 16:09
Aloa,

danke für die Antworten.

Ich habe es mal so versucht:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure ApplicationActivate(Sender:TObject);
    //procedure ApplicationMinimize(Sender:TObject);
    procedure ApplicationDeactivate(Sender:TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnActivate := ApplicationActivate;
//Application.OnMinimize := ApplicationMinimize;
Application.OnDeactivate := ApplicationDeactivate;
end;

procedure TForm1.ApplicationActivate(Sender: TObject);
begin
Timer1.Enabled := False;
end;

//procedure TForm1.ApplicationMinimize(Sender: TObject);
//begin
//Timer1.Enabled := False;
//end;

procedure TForm1.ApplicationDeactivate(Sender: TObject);
begin
Timer1.Enabled := True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
//if Application.Minimize then //auch mit Application.OnMinimize versucht, aber bei beidem kommt eine Fehlermeldung
// begin
// Timer1.Enabled := False;
// end
// else begin
    sleep(10000);
    Application.Minimize;
    Timer1.Enabled := False;
// end;
end;

end.
Das mit dem minimieren, wenn die Anwendung inaktiv ist, funktioniert soweit.
Leider blockiert diese für die 10 Sekunden des Timers, welche als Verzögerung dienen soll.
Desweiteren setzt der Timer auch ein, wenn ich die Anwendung direkt minimiere,
wodurch dieses wiederum 10 Sekunden blockiert, was ja Irrsinn ist.

Ich habe es versucht zu lösen in dem ich das in den Bemerkungen einfügte, bisher hat nicht funktioniert.


Mit freundlichem Gruß

Lostriga
  Mit Zitat antworten Zitat