如何让form在模态窗体上还StayOnTop

jiafcat 2001-07-17 09:41:31
如何让form在模态窗体上还StayOnTop?

我有一个主窗体产生一个Form1,Form1又产生一个Form2(非模态)。Form2的FormStyle=fsStayOnTop。当用Form1->Show(),显示Form1时,Form2可以一直在最上边。
但当用Form1->ShowModal(),显示Form1时,Form2在失去输入焦点后,就被Form1挡住了,不能StayOnTop了。而我又确实希望Form1是模态的。所以,请教大家如何让Form2(非模态)一直在Form1之上?
...全文
66 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiafcat 2001-07-17
  • 打赏
  • 举报
回复
songhtao的SetForegroundWindow应该是相当于TForm的BringToFront()方法,必须在Form2每一次被遮住后执行,实际上是不好用的。
我在delphi区也发贴了,zjqyb提出了重载TForm的Createparams的方法,我觉得比较好。有兴趣的可以去看一看。
sundayboys的方法,没有试过,可能也是可以的。
实在是很高兴,怎么快就有回应了,CSDN的人气比以前要旺多了。
「已注销」 2001-07-17
  • 打赏
  • 举报
回复
同意孤独兄

to sundayboys

有时候并不能用这个函数来实现

@_@
sundayboys 2001-07-17
  • 打赏
  • 举报
回复
SetWindowPos(Handle,
HWND_TOPMOST,
Left,
Top,
Width,
Height,
SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
我不懂电脑 2001-07-17
  • 打赏
  • 举报
回复

BOOL SetForegroundWindow(

HWND hWnd // handle of window to bring to foreground
);

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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