代码如下:
SetWindowPos(Handle,HWND_TOPMOST,Left,Top,Width,Height,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
只要改变相应参数还可实现其他效果,如隐藏、固定不动等。
下面我举一个复选框的例子:
procedure TForm1.checkBox1Click(Sender: TObject);
begin
if checkBox1.Checked then
SetWindowPos(Form1.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE)
else
SetWindowPos(Form1.Handle,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE);
end;
不建议使用 FormStyle:=fsStayOnTop; 这种方式。