总在最前 是怎么做到的???就是有些播放器一直在最上面 有焦点的窗口也在他下面(100分)

I

IO321

Unregistered / Unconfirmed
GUEST, unregistred user!
总在最前 是怎么做到的???就是有些播放器一直在最上面 有焦点的窗口也在他下面
如 MediaPlayer 查看下的 总在最前
 
FormStyle := fsStayOnTop
 
MainForm.FormStyle := fsStayOnTop;
 
用API,上面那两个只是本应用程序中在最上面。
SetWindowPos(handle,HWND_TOPMOST,form1.Left,form1.Top,form1.Width,form1.Height,SWP_SHOWWINDOW);
 
同意kkyy的方法,这样做的好处是不会产生闪烁感。
 
procedure TMainForm.SetTop;
begin
if bTop then
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE)
else
SetWindowPos(Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE);
end;
 
多人接受答案了。
 
顶部