窗体Form的FormStyle属性设置为fsStayOnTop时属性设置不起作用问题探讨。
来源:互联网 发布:abc优化算法流程图 编辑:程序博客网 时间:2024/06/05 09:47
这个问题是这样的:
在应用程序中加载两个窗体,一个是模态的,另一个是非模态窗体。其中非模态窗体的属性设置为fsStayOnTop就是让其一直在前方显示。这样的效果就是在操作模态窗体的时候,可以看得到非模态窗体,但是不可以操作非模态窗体,这样的效果是正确的。但是当程序执行某些操作之后,比如发了某个windows消息之后,这样的状态就会发生改变,导致非模态窗体不能正常显示。
问题是系统消息发送之后窗体的FormStyle属性依然为fsStayOnTop但是就是不在前方显示,此问题相当恶心啊。如果设置为模态窗体则当这个窗体出现的时候就不能操作其他窗体,设置为非模态的则会导致没有获得焦点时可以处于最上面,但一旦获取焦点,就被mainform遮住了 设置成fsStayOnTop好象没有什么作用。
研究了一段时间,也用度娘度了好久,才找到一个合适的解决方案。现在共享出来,希望大家遇到之后能迅速解决~~
重载窗体的这个方法,然后在这个方法中指定窗体的句柄。
procedure CreateParams(var Params: TCreateParams); override;
procedure MainForm.Createparams(var Params: TCreateParams);begin inherited; With Params do begin WndParent := Application.MainForm.Handle; Params.ExStyle := WS_EX_TOPMOST; end;end;
这样之后,程序便可以顺利执行了。这是强制指定窗体的扩展属性啊!
- 窗体Form的FormStyle属性设置为fsStayOnTop时属性设置不起作用问题探讨。
- 用代码设置窗体FormStyle为TopMost
- FORM窗体 控件设置DOCK属性问题
- 窗体常用属性设置
- winform窗体属性设置
- SWT窗体属性设置
- C# WinForm窗体的TopMost属性设置为true时,多次点击窗体弹出事件,只会弹出一个窗体
- 关于C#设置Form的visible属性隐藏问题
- 为对象的属性设置属性值
- 批量设置窗体控件上的属性
- 窗体设置的一些基本属性(一部分)
- java 窗体中 table的 属性设置
- 窗体的常用属性及设置
- windowSoftInputMode属性介绍及设置adjustResize不起作用的解决方案
- 给UITableViewCell的成员设置框架属性后不起作用,解决办法
- EXTJS4.0 表单form设置属性为只读
- 003.将窗体设置为固定大小属性FormBorderStyle
- 设置窗体无边框属性
- 如何在Spring框架中解决多数据源的问题
- [Android实例] 仿Windows 文件浏览 文件选择器
- Android特效(持续更新)
- HDU 4396 || HDU 4360
- 正则表达式30分钟入门教程
- 窗体Form的FormStyle属性设置为fsStayOnTop时属性设置不起作用问题探讨。
- 排序算法之一 选择排序
- Chapter 9 Sequential Containers
- mongodb mongodump数据备份,mongorestore恢复命令
- ELF动态解析符号过程(修订版)
- 编写连接数巨大的高负载服务器程序时,经典的多线程模式和select 模式都不再适
- 队列的实现0
- gtags
- poj1157(花店问题+经典DP)