CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

旧事重提:如何让某个程序的子窗体始终位于所有进程窗体的最前端?

楼主zyb()2000-03-23 08:16:00 在 Delphi / VCL组件开发及应用 提问

假设有一Delphi4.0程序,有form1,form2两个窗体,在form1中点击Button1后执行form2.show,如何使form2始终位于所有进程窗体的最前端,即从执行了form2.show后,无论再打开资源管理器、运行word97、IE5。0等任何其它程序,form2始终能位于屏幕的最前端?  
  以前我曾提问过同样的问题,有人建议我用SetWindowPos(handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE   or   SWP_NOSIZE   or   SWP_NOACTIVATE)以及设置form2.Formstyle   :=   fsStayontop   ,但我试过后行不通,它们只能使form2位于本程序所有窗体的最前端,启动其他程序后便覆盖了form2窗体。  
  问题点数:15、回复次数:9Top

1 楼ghj1976(蝈蝈俊.net)回复于 2000-03-23 08:55:00 得分 0

      我也不知道,不过我知道当用户按下热键时,可以让它立即显示在最前面(不管您现在在那个应用程序),参见  
  http://www.csdn.net/expert/TopicView.asp?id=4688  
  http://www.csdn.net/expert/TopicView.asp?id=4738  
  可能会对您有所帮助.  
  Top

2 楼jll(你快乐,所以我快乐)回复于 2000-03-23 09:38:00 得分 0

好象在哪见过《Delphi   3从入门到精通》Marco   Cantu著,方法好象是不断查询想要居最前的窗口是否失去焦点,一旦失去就Stay   on   top……Top

3 楼zyb()回复于 2000-03-23 09:48:00 得分 0

请大侠提供详细的源代码!Top

4 楼zyb()回复于 2000-03-24 16:49:00 得分 0

看来分数少了点,大侠们对我的这个问题很冷落啊!  
  那好吧,如果谁帮我解决这个问题,我可以再送一些分数的!OK!  
  -----急征答案!Top

5 楼torent()回复于 2000-03-24 18:31:00 得分 0

1.设置FormStyle为fsStayOnTop  
  2.在OnDeactivate事件中加入  
      Show;Top

6 楼Lin(林)回复于 2000-03-24 18:58:00 得分 15

很简单啊,以前我好象回答过这样的问题:  
  1、如果你用D5,   在Form1上放置ApplicationEvents组件,并处理OnDeactivate事件;如果用D4,在Form1的OnCreate事件中加入Application.OnDeactivate   :=   ApplicationDeactivate;  
  2、在Application的Deactivate事件中加入一行代码:  
    SetWindowPos(Application.Handle,   HWND_TOPMOST,   0,   0,   0,   0,   SWP_NOMOVE   or   SWP_NOSIZE);  
  3、It's   OK.Top

7 楼bitter()回复于 2000-03-25 12:48:00 得分 0

form.bringtofrontTop

8 楼zyb()回复于 2000-03-28 16:40:00 得分 0

我的问题已解决,谢谢大家!  
  如果Lin先生还不满足分数的话,给我个妹儿,我会再送上  
  些许分数的!-------wxlzyb@263.netTop

9 楼Lin(林)回复于 2000-03-29 12:33:00 得分 0

It's   enough.   Thanks   a   lot.Top

相关问题

  • 旧事重提
  • 进程主窗体的判定???
  • 旧事重提,文件复制问题
  • :旧事重提,文件复制问题
  • 旧事重提一个JAVASCRIPT函数
  • 如何结束一个窗体内的所有进程!
  • 如何关闭一个没有窗体的进程?
  • 关于取得外部进程窗体句柄的问题
  • 如何得到一个进程的主窗体句柄
  • C#中对别的进程主窗体的控件扫描

关键词

  • .net
  • application
  • 窗体
  • 程序
  • swp
  • ondeactivate
  • 位于
  • 分数
  • 好象
  • 所有

得分解答快速导航

  • 帖主:zyb
  • Lin

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo