Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.009 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#14

Re: Form schließen wenn Mauszeiger d.Form verläßt ?

  Alt 24. Jun 2004, 08:48
Zitat von dizzy:
a) Du implementierst die Behandlung der Message WM_MOUSELEAVE
Ok...
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private-Deklarationen }
  protected
    procedure WMMouseLeave(var Message: TWMMouse); message WM_MOUSELEAVE;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.WMMouseLeave(var Message: TWMMouse);
begin
  Close;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  EventTrack: TTrackMouseEvent;
begin
  EventTrack.dwFlags := TME_LEAVE;
  EventTrack.hwndTrack := Handle;
  EventTrack.cbSize := SizeOf(EventTrack);
  TrackMouseEvent(EventTrack);
end;

end.
P.S.: Das WMMouseLeave-Event wird auch gefeuert, wenn die über ein Control auf dem Form zeigt...
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat