方法一:

procedure TForm1.Button2Click(Sender: TObject);
begin
Form2.Show;
Application.NormalizeTopMosts;
SetWindowPos(Form2.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE);
end;

方法二:

https://blog.csdn.net/xiaowei_sql/article/details/50829178?tdsourcetag=s_pcqq_aiomsg

窗口置顶

setwindowpos(self.handle,HWND_TOPMIOST,0,0,0,0,SWP_NOMOVE  or  SWP_NOSIZE);//窗口置顶

setwindowpos(self.handle,HWND_NOTOPMIOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE);//取消窗口置顶

非主窗口置顶

在Delphi中,非主窗体如何置顶
SetWindowPos(Form1.Handle, HWND_TOPMIOST, Left, Top, Width, height, SWP_SHOWWINDOW)可以将窗口放在所有窗口的最前面,但是这仅对一个应用程序的主窗口有效,非主窗口只能在这个应用程序的内部被置前,但是其他应用程序的窗口仍然会盖住他。

解决方法是将Form1的父窗口设为桌面,如:

procedure TForm1.CreateParams(var Params: TCreateParams);

begin
  inherited;
  with Params do
  begin
    WndParent := GetdesktopWindow(); 
  end;
end;

但是这样会在进程管理器中的应用程序中多出一个Form1,怎样才能不让出现这个Form1了,其实解决方法很简单的,只需要将Form1的caption属性设为空就可以:Form1.Caption := '';

//下面这一种我使用过了,比较喜欢这种 ,很方便
还有另外一种可以不用将Form1的父窗口设为桌面也可以置前,那就是在窗体创建置前调用
Application.NormalizeTopMosts;
然后再调用SetWindowPos也可以实现将窗口置前的效果 
---------------------
作者:CherryDuth
来源:CSDN
原文:https://blog.csdn.net/xiaowei_sql/article/details/50829178
版权声明:本文为博主原创文章,转载请附上博文链接!

解析Delphi 窗口置顶,及非主窗口置顶的更多相关文章

  1. eclipse非主窗口的停靠(正常), 恢复, 最小化, 最大化的切换

    1. pydev package Explorer的停靠与内嵌等 正常的情况

  2. python + selenium webdriver 从主窗口A跳转至主窗口B后,无法定位窗口B的元素的问题

    在做登录脚本的时候,如果只是单纯从登录页面进行元素定位的话,并不存在这个问题 但实际情况是,从首页A进入到登录页面B(并非弹出框),这时候在页面B无法定位到该页面的元素 问题:从页面A进入页面B,无法 ...

  3. Qt中的非模式窗口配置;

    Test7_5A::Test7_5A(QWidget *parent) : QMainWindow(parent){ ui.setupUi(this); m_searchwin = new Searc ...

  4. WPF 解决弹出模态窗口关闭后,主窗口不在最前

    本文告诉大家如何解决这个问题,在 WPF 的软件,弹出一个模态窗口.使用另一个窗口在模态窗口前面.从任务栏打开模态窗口.关闭模态窗口.这时发现,主窗口会在刚才使用的另一个窗口下面 这是 Windows ...

  5. Qt5 主窗口组成

    1. 菜单栏 菜单是一系列命令的列表.为了实现菜单.工具栏按钮.键盘快捷键等命令的一致性,Qt使用动作(Action)来表示这些命令.Qt的菜单就是由一系列的QAction动作对象构成的列表,而菜单栏 ...

  6. eclipse中的Console控制台视图脱离主窗口解决办法

    问题:Console控制台视图由于操作不当,跑出来了,脱离了主窗口 解决:在eclipse主窗口最上面的工具条选项中,找到Window,点击里面的Reset Perspective,即可,这样视图就重 ...

  7. tkinter 弹出窗口 传值回到 主窗口

    有些时候,我们需要使用弹出窗口,对程序的运行参数进行设置.有两种选择 一.标准窗口 如果只对一个参数进行设置(或者说从弹出窗口取回一个值),那么可以使用simpledialog,导入方法: from ...

  8. [Qt Creator 快速入门] 第5章 应用程序主窗口

    对于日常见到的应用程序而言,许多都是基于主窗口的,主窗口中包含了菜单栏.工具栏.状态栏和中心区域等.这一章会详细介绍主窗口的每一个部分,还会涉及资源管理.富文本处理.拖放操作和文档打印等相关内容.重点 ...

  9. Python tkinter模块弹出窗口及传值回到主窗口操作详解

    这篇文章主要介绍了Python tkinter模块弹出窗口及传值回到主窗口操作,结合实例形式分析了Python使用tkinter模块实现的弹出窗口及参数传递相关操作技巧,需要的朋友可以参考下 本文实例 ...

随机推荐

  1. Redis学习之路(005)- redis内存数据库C客户端hiredis API 中文说明

    A)编译安装 make make install (/usr/local) make install PREFIX=$HOME/progs(可以自由指定安装路径) B)同步的API接口 redisCo ...

  2. ANDROID开机动画分析

    开机动画文件:bootanimation.zip在system\media文件夹下动画是由系列图片连续刷屏实现的..bootanimation.zip文件是zip压缩文件,压缩方式要求是存储压缩,包含 ...

  3. TripleDES之C#和PHP之间加密解密

    在C#常用加密解密一文中,介绍了几个加密解密方法,其中有个如何使用对称加密算法DES,此次说下DES的升级版,TripleDES. DES和TripleDES之间的关系可以参考下面的博文. 对称加密D ...

  4. iOS 不支持 PWA,那又怎么样?

    原文链接http://www.zcfy.cc/article/ios-doesn-8217-t-support-progressive-web-apps-so-what-cloud-four-3400 ...

  5. C# 进制转换(二进制、十六进制、十进制互转)

    原文地址:https://www.cnblogs.com/icebutterfly/p/8884023.html C# 进制转换(二进制.十六进制.十进制互转)由于二进制数在C#中无法直接表示,所以所 ...

  6. pingback协议与traceback协议的区别

    wordpress 的 pingback协议与traceback协议区别

  7. Delphi GDI对象之剪切区域

    原文链接: http://www.cnblogs.com/pchmonster/archive/2012/07/05/2577627.html 剪切区域(Clipping Regions) Regio ...

  8. 10个优秀的jQuery Mobile主题

    原文链接:http://caibaojian.com/10-best-free-jquery-mobile-theme.html jQuery Mobile 是一个伟大的框架,而每个伟大的产品都需要一 ...

  9. Nginx 通过certbot 配置let's encrypt 证书 【转载,整理】

    重要目录:/usr/local/certbot,/var/log/letencrypt,/etc/letencrypt

  10. IntelliJ IDEA设置代码括号对齐方式

    IntelliJ IDEA设置代码括号对齐方式 IntelliJ IDEA默认的对齐方式如下:括号跟函数名在一行 想改为括号独自占一行,如下: 配置方式如下:File->Setting-> ...