What I do is
(sorry is a bit messy but I am sure you can work it out from here). I do not set the alwaysontop. I leave it as is.
Code:
//On Reactivate or on show whatever you like
var hTaskBar : THandle;
hTaskbar := FindWindow( 'Shell_TrayWnd', Nil );
ShowWindow(hTaskBar, SW_HIDE);
//On deactivate
procedure TMainForm.Deactivate(Sender: TObject);
var hTaskBar : THandle;
begin
hTaskbar := FindWindow( 'Shell_TrayWnd', Nil );
ShowWindow(hTaskBar, SW_NORMAL);
end;
// On create I set up the following
procedure Deactivate(Sender: TObject);
procedure Reactivate(Sender: TObject);
Application.OnDeactivate := Deactivate;
Application.Onactivate := Reactivate;
Bookmarks