加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何使我的表单始终位于我的主要表单之上?

发布时间:2020-12-15 09:18:52 所属栏目:大数据 来源:网络整理
导读:如何使我的非模态表单始终位于我的主表单之上? 我试过了: procedure TForm3.CreateParams(var Params: TCreateParams);begin inherited CreateParams(Params); Params.WndParent := Application.MainForm.Handle;end; 这似乎工作正常.这是正确的方法吗?
如何使我的非模态表单始终位于我的主表单之上?

我试过了:

procedure TForm3.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.WndParent := Application.MainForm.Handle;
end;

这似乎工作正常.这是正确的方法吗?

解决方法

这是 window ownership的Win32概念.拥有的窗口始终显示在其所有者的顶部.所有者在CreateWindow调用中指定,然后不能修改.

在VCL中,您可以通过在CreateParams中设置WndParent来指定所有者,然后框架将其传递给CreateWindow. VCL为您做到这一点,但在旧版本中,所有者处理有点不稳定.现代版本更好,并允许通过PopupMode和PopupParent属性进行更多控制.

因此,您的代码将具有您想要的效果.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读