Einzelnen Beitrag anzeigen

Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

Re: Form schliessen wenn die Maus das Form verlässt.

  Alt 6. Jun 2005, 22:10
unglaublich, aber so funkt es leider auch nicht.

Das Form wird geschlossen sobalt ich z.b. auf Die Taskleiste fahre
und somit die App verlasse.
In meinem Fall habe ich ein Form offen und instanziere ein
weiteres Form mit einer TLabel so wie ein ShowMessage Dialog.
Wenn nun der Mauszeiger die Grenzen des Form verläst soll das
Form automatisch geschlossen werden.
So eine winzige Anforderung macht so eine menge Erger.
Echt unglaublich.




Zitat von engine:
Hallo Kostas,


du musst noch einen Timer in dein Programm einbauen, dann sollte es mit meinem Code funktionieren.
Delphi-Quellcode:
unit Main;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

Procedure AutoOff;
var
  p : TPoint;
  wc : TWinControl;

begin
  GetCursorPos(p);

  begin
    wc:=FindVCLWindow(p);

    if wc <> nil then // Maus befindet sich im Programmfenster
      begin

      end
    else // Maus befindet sich außerhalb des Programmfenster
      begin
        Form1.Close; //Fenster schließen
      end;
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  AutoOff;
end;

end.
  Mit Zitat antworten Zitat