窗体显示在屏幕的最上端,永远位于最上方,而且,其他程序最大化的时候其上边缘不能进到我的那个程序的下面,类似把Windows的任务栏挪到屏幕最上端那种效果。
目前已经解决的问题是让窗口置顶和使用Windows+D (或者是点击显示桌面按钮)时不消失。
实现过程如下:
public:
    procedure CreateParams(var Params: TCreateParams); override; //在你的窗体中重载
procedure TfrmMain.Button3Click(Sender: TObject);
var
    wnd : THandle;
begin
  frmMain.FormStyle := fsStayonTop;
  wnd := FindWindow(nil,'Project1');
  SHowWIndow(wnd,SW_HIDE);
  frmMain.BorderStyle:=bsNone;
  frmMain.Top:=0;
  frmmain.Left:=0;
  frmMain.Width:=Screen.Width;
  frmMain.Height:=30;
end;procedure TfrmMain.CreateParams(var Params: TCreateParams);
 begin
   inherited;
   Params.EXStyle := Params.ExStyle or WS_EX_TOOLWINDOW;
   Params.WndParent := GetDesktopWindow; // 重新定义Parent对象句柄,看你的需要了。
end;