窗口要始终浮在所有窗口的最上面(50分)

  • 主题发起人 主题发起人 xiayang1230
  • 开始时间 开始时间
X

xiayang1230

Unregistered / Unconfirmed
GUEST, unregistred user!
不是FormStyle:=fsStayOnTop那种
我看到一个文章是这样做的,可惜调试不通啊
Public
procedure Createparams(Var Params:TCreateParams);override;
...

procedure TFormDrop.Createparams(var Params:TCreateParams);
begin
Inherited CreateParams(Params);
With Params do
begin
EXStyle:=ExStyle or WS_EX_TOPMOST OR WS_EX_ACCEPTFILES or WS_DLGFRAME
wndParnet:=GetDesktopWindow; //关键一行,用SetParent都不行!!
end;
end;
 
来自:doxpix, 时间:2001-3-20 16:15:00, ID:475131
看看我的:
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowPos(self.handle,HWND_TOPMOST,self.left,self.top,
self.width,self.height,SWP_NOMOVE);
end;

 
procedure TForm1.timer1time(Sender: TObject);
begin
SetWindowPos(handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE OR SWP_NOAVTION OR SWP_NOSIZE);
end;
 
hbezwwl你这个在主窗口好用但在show出来的第二个窗口就没用了,我要第二个窗口有用
第一个不要在最上面
 
to hbezwwl:你那个方法根本不行,和FormStyle:=fsStayOnTop一样,
把MediaPlayer设置总在最前马上就把他盖住了,
你按任务栏上的‘显示桌面‘按钮之后,它马上最小化到任务栏去了,
但是RealFox狐朋却可以不最小化。
不知道是怎么实现的。
真正解决这个问题的还可以到
http://www.delphibbs.com/delphibbs/dispq.asp?lid=971122来,
我加分。
 
to wenzang:你的也是不行,一按显示桌面就最小化了,
打开MediaPlayer位于前面,它只是定期把它重新放到最前面。
另SWP_NOAVTION 应该是SWP_NOACTIVATE,根本没有SWP_NOAVTION 的定义。
为:SetWindowPos(handle,HWND_TOPMOST,0,0,0,0,
SWP_NOMOVE OR SWP_NOACTIVATE OR SWP_NOSIZE);
to xiayang1230:
你的那段该怎么改才能通过调试啊,我不会:( need your help

 
后退
顶部