Hallo,
ist es wirklich notwendig, einen Hook zu installieren? Die Verarbeitung der Nachricht
CM_MOUSEENTER in Verbindung mit einem Timer löst das Problem doch ebenfalls:
Delphi-Quellcode:
// uses ExtCtrls
type
TForm1 = class (TForm)
procedure FormCreate (Sender: TObject);
private
FTimer : TTimer;
procedure CMMouseEnter (var Msg: TWMMouse); message CM_MOUSEENTER;
procedure Timer1Timer (Sender: TObject);
end;
procedure TForm1.CMMouseEnter (var Msg: TWMMouse);
begin
inherited;
AlphaBlend := False;
FTimer.Enabled := True;
end;
procedure TForm1.FormCreate (Sender: TObject);
begin
AlphaBlendValue := 128;
AlphaBlend := False;
FTimer := TTimer.Create(Self);
FTimer.Interval := 100;
FTimer.OnTimer := Timer1Timer;
end;
procedure TForm1.Timer1Timer (Sender: TObject);
begin
if PtInRect(BoundsRect, Mouse.CursorPos) then
Exit;
FTimer.Enabled := False;
AlphaBlend := True;
end;
Gruß Hawkeye