怎么将form2窗体总显示在最前面!(form2是由form1激活的)(0分)

  • 主题发起人 linjifan
  • 开始时间
L

linjifan

Unregistered / Unconfirmed
GUEST, unregistred user!
我用setwindowspos()已成功将form1设置为总显示在最前面的!
可form2就不行!
 
用SHOWMODAL激活
 
Form2.ShowModal;
 
我试验了,如果设置了form1,又设置了form2,
那就两个都不是再最前面了。

需要在form2里面增加一些代码:
...
TForm2 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure CreateParams(var Params: TCreateParams);
private
{ Private declarations }
public
{ Public declarations }
end;
...

procedure TForm2.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.WndParent := 0;e
end;
 
我的意思是,将from2设置成为windows的所有窗体的最前面,就向qq那样的!
我用这个方法,可以将from1,设置在为windows的最前面的窗体,可以在form2中就不行了!
SetWindowPos(form1.handle,HWND_TOPMOST,form1.Left,form1.Top,form1.Width,form1.Height,0);
 
将form2的formstyle属性设置成fsstayontop

应该可以的
 
hg1780428说的正确,就是设置formstyle属性为fsstayontop就行
 
应该是:
SetWindowPos(form2.handle,HWND_TOPMOST,form1.Left,form1.Top,form1.Width,form1.Height,0);
 
你在form1里面也设置了吗?还是只设置了form2?
 
顶部