BCB不能让两个Form同时TopMost?

windfromsky 2005-11-23 08:56:33
新建一个application, 2个form

如果两个form的FormStyle都设成fsStayOnTop的话,
则变成都不是TopMost
...全文
246 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
windfromsky 2005-11-28
  • 打赏
  • 举报
回复
居然是VCL的问题, 在 form.pas中处理WM_APPACCTIVATE消息是normalizeTopMosts
windfromsky 2005-11-24
  • 打赏
  • 举报
回复
我要的效果是: 点击其他普通窗口, 我的两个窗口始终保持在最上面
BringWindowToTop只能暂时把窗口放到最前, 不能保持
cczlp 2005-11-24
  • 打赏
  • 举报
回复
一个form设置成fsStayOnTop, 一个用BringWindowToTop设置在其它窗体前面
windfromsky 2005-11-23
  • 打赏
  • 举报
回复
突然发现帮助里有说明
This form remains on top of the desktop and of other forms in the project, except any others that also have FormStyle set to fsStayOnTop.If one fsStayOnTop form launches another, neither form will consistently remain on top.
不知道有没有办法让两个form都topMost
windfromsky 2005-11-23
  • 打赏
  • 举报
回复
但是两个都变成了普通的窗体了, 这是怎么回事?
我的本意是让我的程序的所有窗体都在其他程序普通窗体之上
但现在只要两个窗体都设成topmost的话,
我的窗体就都变成了普通窗体了
Maconel 2005-11-23
  • 打赏
  • 举报
回复
windows中的窗体分2种,一种在上部的,一种在下部的。
上部中的任何一个,都在所有下部的上边。
如果是同一种窗体,那么谁被激活,谁在上边。

我是这么理解的。
windfromsky 2005-11-23
  • 打赏
  • 举报
回复
补充一下:
第二个窗体先hide一下

在Form1上加个button, 在click中

if(Form2->Visible)
Form2->Hide();
else
Form2->Show();
把按纽按几下就可以看到效果了

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧