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...