方法一:

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. 巧用linux服务器的/dev/shm/

    巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度. 首先让我们认识一下,什么是tmpfs和/dev/shm/? tmpfs是Linux/Unix系统上的 ...

  2. Java中类的设计技巧

    1)  一定要将数据设计为私有: 不要破坏封装性.有时需要编写一个访问器或更改器方法,但是最好还是保持实例域的私有性.数据的表示形式可能会改变,但他们的使用方式却不会经常发生变化.当数据保持私有时,他 ...

  3. FreeSWITCH增加iLBC编码

    1. 安装ilbc库从第三方库里下载指定版本 git clone https://freeswitch.org/stash/scm/sd/libilbc.git ./bootstrap.sh ./co ...

  4. 关于 f 散度

    在概率统计中,f散度是一个函数,这个函数用来衡量两个概率密度p和q的区别,也就是衡量这两个分布多么的相同或者不同. 1.f散度的定义p和q是同一个空间中的两个概率密度函数,它们之间的f散度可以用如下方 ...

  5. 比较@Resource、@Autowired

    @Resource @Resource默认按byName自动注入.既不指定name属性,也不指定type属性,则自动按byName方式进行查找.如果没有找到符合的bean,则回退为一个原始类型进行进行 ...

  6. C#-string.Format对C#字符串格式化

    1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...

  7. 给Java开发人员的Play Framework(2.4)介绍 Part1:Play的优缺点以及适用场景

    1. 关于这篇系列 这篇系列不是Play框架的Hello World,由于这样的文章网上已经有非常多. 这篇系列会首先结合实际代码介绍Play的特点以及适用场景.然后会有几篇文章介绍Play与Spri ...

  8. 【Unity】4.6 灯光

    分类:Unity.C#.VS2015 创建日期:2016-04-11 一.简介 灯光(Light,也叫光源)是每一个场景的重要组成部分,用于照亮场景和对象,从而让游戏具有自己的个性和风格,比如利用灯光 ...

  9. java 分布式锁总结

    第一步,自身的业务场景: 在我日常做的项目中,目前涉及了以下这些业务场景: 场景一: 比如分配任务场景.在这个场景中,由于是公司的业务后台系统,主要是用于审核人员的审核工作,并发量并不是很高,而且任务 ...

  10. /etc/ssh/sshd_config 关建字:AllowUsers root test01

    新加用户,在AllowUsers 新增的用户名,重启sshd后,新增的用户才能登录服务器.