关于delphi 窗口置底与置顶的有关问题 !救!

关于delphi 窗口置底与置顶的问题 !!!急救!!!
求代码 如何使 窗口(form1)置顶 要求要有 QQ的效果 不论点击其他程序窗体 form1都在最前面 点击显示桌面按钮 form1仍然在前面 不消失
 置底要求 不论怎么点击 form1 它都在最低层 点击显示桌面按钮 form1仍然不消失

  
 

------解决方案--------------------
Delphi(Pascal) code
         //置顶
procedure TFrmMain.Button1Click(Sender: TObject);
begin
SetWindowPos(FrmMain.Handle,HWND_TOPMOST,
  FrmMain.Left,
  FrmMain.top,
  FrmMain.Width ,
  FrmMain.height,
  SWP_SHOWWINDOW);
end;

//置底
procedure TFrmMain.Button2Click(Sender: TObject);
begin
SetWindowPos(FrmMain.Handle,HWND_BOTTOM,
  FrmMain.Left,
  FrmMain.top,
  FrmMain.Width ,
  FrmMain.height,
  SWP_SHOWWINDOW);
end;

------解决方案--------------------
Form1.FormStyle:=fsStayOnTop;
------解决方案--------------------
参考:http://www.cnitblog.com/shuyezi122/archive/2011/09/16/53885.html
------解决方案--------------------
探讨
但是点击 显示桌面 的问题还没解决