Windows出现在屏幕边缘(Delphi)

我的应用程序中的 Windows正在弹出屏幕边缘,这当然是一个问题,因为有些窗口是模态的,不能被解雇(你甚至不知道它们在那里).

我正在使用TurboPower Orpheus组件来记住每个表单的位置和大小,然后在再次显示表单时恢复它.它将大小和位置保存在INI文件中.

我该怎么做才能防止窗户出现在屏幕的一侧?

解决方法

如果您使用多个显示器然后断开连接,例如取消对笔记本电脑的连接时,会发生这种情况.或者,如果您将笔记本电脑停靠在具有更高分辨率的屏幕上.或者使用远程桌面等.
解决方法是通过健全性检查来覆盖“记住我的位置”行为,看看左边的宽度是否超​​过屏幕的宽度(Screen.Monitors数组,实际上 – 谢谢你们),反之亦然.

理想情况下,你通过减去差异来“碰撞”,因此你正在对抗窗口想要跨越的边缘.

另外,看看Orpheus是否有更新可以解决这个问题.如果没有,您可以获取源,进行更正(可选),并将其贡献给项目.我记得这是OSS.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...