社区
VCL组件使用和开发
帖子详情
如何保持窗口置顶
Xx哼哼xX
2009-11-02 10:03:19
如果我有两个窗体,TForm1和TForm2,现在我在TForm1上做一个动作,弹出TForm2,这时,我又要去操作TForm1。但当我去点击TForm1的时候,TForm1就会挡住TForm2,我想问一下,如何保持在我操作TForm1的时候,TForm2始终处于置顶状态!
...全文
308
5
打赏
收藏
如何保持窗口置顶
如果我有两个窗体,TForm1和TForm2,现在我在TForm1上做一个动作,弹出TForm2,这时,我又要去操作TForm1。但当我去点击TForm1的时候,TForm1就会挡住TForm2,我想问一下,如何保持在我操作TForm1的时候,TForm2始终处于置顶状态!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lghndyz
2009-11-02
打赏
举报
回复
主要是重载Form的虚拟函数CreateParams, 改变TCreateParams的成员WndParent就可以了
class TForm2 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
protected:
virtual void __fastcall CreateParams(TCreateParams & Param);
public: // User declarations
__fastcall TForm2(TComponent* Owner);
};
void __fastcall TForm2::CreateParams(TCreateParams & Param)
{
//调用基类的函数
TForm::CreateParams(Param);
Param.ExStyle |= WS_EX_TOPMOST;
//这儿最关键的是只要Param.WndParent不是Application- >Handle就可以了,
//不一定非要用GetDesktopWindow(),用其它的窗口也可以。
Param.WndParent = GetDesktopWindow();
}
Jim@luckeeinc.com
2009-11-02
打赏
举报
回复
Form2 fsStayOnTop 会一直挡住Form1的 那Form1永远在Form2下面 不大好操作
看Form2的大小和LZ的需求了 如果Form2很小 需要这样来设计 那就用fsStayOnTop
lhy
2009-11-02
打赏
举报
回复
把TForm2给fsStayOnTop了。
Jim@luckeeinc.com
2009-11-02
打赏
举报
回复
你说的置顶应该是Form2的Align设置成alTop,然后show出Form2吧
你操作Form1的时候肯定是Form1获得焦点
Xx哼哼xX
2009-11-02
打赏
举报
回复
[Quote=引用 2 楼 lhylhy 的回复:]
把TForm2给fsStayOnTop了。
[/Quote]
好用!谢谢!
窗口
置顶
工具
启动后,选中
窗口
按F8后,
窗口
将始终
保持
置顶
状态。
锁定
窗口
置顶
运行锁定
窗口
置顶
后,点击漂浮顶上,再点击要至于最前面的
窗口
即可让它
保持
显示在最前,不会被其他
窗口
覆盖
windowsontop
窗口
置顶
的小工具
windowsontop
窗口
置顶
的小工具
高效的程序
窗口
置顶
工具
OnTopReplica,测试可用,OnTopReplica,透明
窗口
,可随时调节
窗口
大小,
置顶
后不会被其他程序覆盖
Unity Windows 程序前置
窗口
置顶
Unity Windows 程序前置
窗口
置顶
VCL组件使用和开发
604
社区成员
13,457
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章