http://www.delphi2007.net/DelphiAPI/html/delphi_20061112180622250.html
ActiveForm 中显示模式窗口,当切换为其它应用程序,再切回来后应用程序不能获得焦点,模式窗口到应用程序的后面了,怎么办
猜测,没有试验,不知道是不是指定了窗体的父窗体,或者owner窗体,是不是可以解决你的问题。
我也遇到这样的问题,一直没办法解决。
楼上的方法试过,有问题,指定了那个模式窗口的父窗体之后,这个子窗体不能获得焦点了
好像显示窗体的时候硬性规定显示在最上面;
用ShowModal;
可以控制鼠标来点一下这个窗口。
注意你模式窗口的parent属性,如下设置:
ActiveForm的某个事件中
showForm := TShowForm.Create(self);
showForm.parent := self;
showForm.ShowModel;
同理,MessageBox()也是这个道理,如果把handle设为self.Handle,就不会出现这种情况。
楼上的你有没有试过,这根本不行,一执行ShowModal包括OCx的主窗体就不响应焦点 了
本文探讨了在Delphi开发环境下,ActiveForm中显示模式窗口时,切换到其他应用程序后再返回,导致应用程序失去焦点及模式窗口位置错乱的问题。提供了多种解决方案,包括调整模式窗口的Parent属性和使用ShowModal方法。
4765

被折叠的 条评论
为什么被折叠?



