C++Builder XE子窗体位置一直在主窗体之前,如何修改?

GoodStudy,UpDay 2018-01-10 05:52:20
情况是这样的,通过C++Builder XE新建一个VCL Forms Application,默认为Form1,然后再新建一个Form,默认为Form2,
在Form1上添加一个按钮用于调用Form2,Form1和Form2的FormStyle属性都是fsNormal,为什么每次调用Form2时,窗体总是在Form1之前,就算我单击Form1使得Form1称为活动窗体,但是依然在Form2下面,哪位高手帮忙解释下,谢谢!
...全文
2366 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyhoo163 2018-02-17
  • 打赏
  • 举报
回复
窗口的FormStyle属性都置fsNormal。这样,调用或点击,任何一个窗体,它都是前置。
ooolinux 2018-02-16
  • 打赏
  • 举报
回复
我手头上有一个别人开发的project,里面有一个主窗体,很多个子窗体,通过主窗体将子窗体都调用出来后,单击任何一个窗体都会使得其置顶,而且code里面并没有额外添加做置顶的处理,所以我就比较纳闷,这个是如何实现的,比对了窗体的属性设置,都一样. ———————— 看看代码中有无CreateParams函数。
DelphixpeFan 2018-02-06
  • 打赏
  • 举报
回复
为什么不用MDI窗体?主窗体FormStyle设置成fsMDIForm,其他子窗体设置成fsMDIChild
GoodStudy,UpDay 2018-01-27
  • 打赏
  • 举报
回复
@hongss :我手头上有一个别人开发的project,里面有一个主窗体,很多个子窗体,通过主窗体将子窗体都调用出来后,单击任何一个窗体都会使得其置顶,而且code里面并没有额外添加做置顶的处理,所以我就比较纳闷,这个是如何实现的,比对了窗体的属性设置,都一样.
GoodStudy,UpDay 2018-01-27
  • 打赏
  • 举报
回复
@早打大打打核战争 :FormStyle属性都置为fsNormal的
xiaocongzhi 2018-01-12
  • 打赏
  • 举报
回复
用Delphi试不会这样呀,你试试自己Create Form2会怎样,不用编译器自动创建Form2
hongss 2018-01-12
  • 打赏
  • 举报
回复
刚试了下,的确有楼主的情况。 但是,在Form1上,两个按钮,分别Show出Form2和Form3,就可以实现点击Form2就Form2置顶,点击Form3就Form3置顶。 应该是Form1被默认为主窗体了吧~~
GoodStudy,UpDay 2018-01-11
  • 打赏
  • 举报
回复
不是,就是使用Form2.Show();如下图所示
xiaocongzhi 2018-01-11
  • 打赏
  • 举报
回复
你用Form2.ShowModal 了吧,改成Form2.Show
GoodStudy,UpDay 2018-01-11
  • 打赏
  • 举报
回复
自己顶! 补充说明,我的用意是想单击主窗体时主窗体置顶,单击子窗体时子窗体置顶
  • 打赏
  • 举报
回复
估计是你把form2的style设置成置顶了,点中form2,在Object Inspector中把FormStyle改成fsNormal就可以了。

5,379

社区成员

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

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