为什么有时候弹出模态对话框,改模态对话框老不显示出来(50分)

  • 主题发起人 主题发起人 牛龙
  • 开始时间 开始时间

牛龙

Unregistered / Unconfirmed
GUEST, unregistred user!
我创建一个模式对话框
然后showmodal
但是有时候,这个模式对话框老没有在屏幕上显示出来,下面的夫窗口也没法接受输入了.我再打开另外一个程序,然后再将被打开的程序最小化.
然后创建的模式对话框就可以被看见了

如何解决这中问题?

谢谢
 
将此模式对话框的FormStyle设为<font color="red">fsStayOnTop</font>
 
关键是,我要是选择了fsstayotop属性,那打开其它应用程序时,该对话框老在上面.
程序需要,不能这样
 
改变这个模态窗口的父窗口为程序的主窗口试试.
 
调换窗口CREATE顺序试一试,我没有遇到过这种情况
 
你的对话框中某个事件是否有问题?

做一个空白对话框, 用ShowModal看一看能否显示出来. 如能, 可能是你那个对话框
的某一个事件中有问题
把事件都关掉, 一个一个(以行一行)的打开调试, 看一看问
题在那里. 若空白对话框也不显示, 则说明你的Windows系统有问题, 检查一下是否
受某个程序影响.
 
谢谢各位说提的答案,虽然我所说的情况出现的比较少,但是,我那个程序运行有一个多月了最少出现过4,5回类似的情况,就是有时候我调用,application.messagebox('a','b',mb_ok);都回出现这种情况.
难道是我的windows有问题?可是在别人的计算机上运行,也出现过showmodal没有弹出窗口的情形.真搞不清楚是什么原因.
 
如此说来就不是系统的问题了, 应该是你的程序的某个部分影响了ShowWindow的机制. 检
查一下是否自己写了消息处理和分发. 是否有某个HOOK程序在系统中运行...
 
可否将源码拿来分析一下?
 
这种问题我也遇到过,特别是最近。
我在Form上放了一个1stClass的FontCombo,在选过字体后,再Showmodal出来的
对话框就在Form之后,搞的他动弹不得。:(
我将在Help中建议用户:
"在选择字体之后,请把窗口拖放至屏幕的边缘处,以免遮盖对话框。"
 
我没有编写任何hook函数。
搞的我焦头烂额的。关键是这种现象,偶尔出现,
程序运行20 回可能出现那么1次。
 
我没有编写任何hook函数。
搞的我焦头烂额的。关键是这种现象,偶尔出现,
程序运行20 回可能出现那么1次。
 
我还是认为可能是系统的问题,好象不少商业应用程序也有类似情况。
在窗口中的ON SHOW中把自己FORGROUND了试试
 
我觉得不是什么系统问题,
为什么要用Application.哪?直接用Messagedlg,就好了。
 
此问题已经堆积超过一个月了,请结束问题或继续讨论 :)
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部