Hola jandro.
Al igual que Neftali, veo la solución con el uso de mensajes.
Pero yo aprovecharía los mensajes: CM_MOUSEENTER y CM_MOUSELEAVE.
Código Delphi
[-]
...
type
TForm = class(Forms.TForm)
public
procedure MouseEnter(var Msg: TMessage); message CM_MouseEnter;
procedure MouseLeave(var Msg: TMessage); message CM_MouseLeave;
end;
TForm1 = class(TForm)
private
public
end;
var
Form1: TForm1;
implementation{$R *.dfm}
procedure TForm.MouseEnter(var Msg: TMessage);
begin
Form1.WindowState:= wsNormal;
end;
procedure TForm.MouseLeave(var Msg: TMessage);
begin
Form1.WindowState:= wsMinimized;
end;
...
Saludos.