需要一个表单只停留在父级页面的顶部。

8
我有一个多窗口应用程序。我的主窗体是桌面的子窗体。我的应用程序可以创建其他窗体,这些窗体也成为桌面的子窗体。但是,有一种特殊情况,我的主窗体需要创建一个窗体,该窗体将始终保持在其上方。
我曾经做到了这一点……但是,如果我在应用程序中创建其他窗口,则此窗体似乎仍然保持在它们的上方!
所以基本上我需要知道...
如何从我的主窗体创建窗体并使其仅保持在我的主窗体上方?这可能吗?
1个回答

15
procedure TMainForm.Button1Click(Sender: TObject);
var
  f: TForm;
begin
  f := TChildForm.Create(Self);
  f.PopupMode := pmExplicit;
  f.PopupParent := Self;
  f.Show;
end;

再见。


我本来要把正确答案授予Craig Stuntz,因为他是正确的,但不知何故他删除了!谢谢。 - James
詹姆斯,Craig Stuntz 回复了你相同的内容吗? - RRUZ
这个解决方案一直在我生命中的哪里呢?! - Jerry Dodge
我唯一看到的缺点是另一个表单获得焦点,主表单失去焦点。目前正在努力看是否能克服这个问题。 - Jerry Dodge
如果您希望弹出窗口始终位于创建它的窗体顶部,也可以将PopupMode设置为pmAuto。 - RobinP
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接